Welcome to Subscribe On Youtube
Formatted question description: https://leetcode.ca/all/2427.html
2427. Number of Common Factors
- Difficulty: Easy.
- Related Topics: .
- Similar Questions: Count Primes.
Problem
Given two positive integers a
and b
, return the number of **common factors of a
and **b
.
An integer x
is a common factor of a
and b
if x
divides both a
and b
.
Example 1:
Input: a = 12, b = 6
Output: 4
Explanation: The common factors of 12 and 6 are 1, 2, 3, 6.
Example 2:
Input: a = 25, b = 30
Output: 2
Explanation: The common factors of 25 and 30 are 1, 5.
Constraints:
1 <= a, b <= 1000
Solution (Java, C++, Python)
-
class Solution { public int commonFactors(int a, int b) { int ans = 0, n = Math.min(a, b); for (int i = 1; i <= n; ++i) { if (a % i == 0 && b % i == 0) { ++ans; } } return ans; } }
-
class Solution { public: int commonFactors(int a, int b) { int ans = 0; int n = min(a, b); for (int i = 1; i <= n; ++i) { if (a % i == 0 && b % i == 0) { ++ans; } } return ans; } };
-
class Solution: def commonFactors(self, a: int, b: int) -> int: return sum(a % i == 0 and b % i == 0 for i in range(1, 1001))
-
func commonFactors(a int, b int) int { ans := 0 for i := 1; i <= a && i <= b; i++ { if a%i == 0 && b%i == 0 { ans++ } } return ans }
-
function commonFactors(a: number, b: number): number { const n = Math.min(a, b); let ans = 0; for (let i = 1; i <= n; i++) { if (a % i == 0 && b % i == 0) ans += 1; } return ans; }
Explain:
nope.
Complexity:
- Time complexity : O(n).
- Space complexity : O(n).