Count Factors
Problem Description
Given an integer A, you need to find the count of it's factors. Factor of a number is the number which divides it perfectly leaving no remainder. Example : 1, 2, 3, 6 are factors of 6
Problem Constraints
1 <= A <= 10^9
Input Format
First and only argument is an integer A.
Output Format
Return the count of factors of A.
Example Input
Input 1:
5
Input 2:
10
Example Output
Output 1:
2
Output 2:
4
Example Explanation
Explanation 1:
Factors of 5 are 1 and 5.
Explanation 2:
Factors of 10 are 1, 2, 5 and 10.
Output
Java
public class CountFactors {
public int countFactors(int A) {
int count = 0;
for (int i = 1; i <= Math.sqrt(A); i++) {
if (A % i == 0) {
if (A / i == i) {
count++;
} else {
count += 2;
}
}
}
return count;
}
public static void main(String[] args) {
CountFactors solution = new CountFactors();
int input1 = 5;
int input2 = 10;
System.out.println("Output 1: " + solution.countFactors(input1));
System.out.println("Output 2: " + solution.countFactors(input2));
}
}
Python
class Solution:
def count_factors(self, A):
count = 0
i = 1
while i * i <= A:
if A % i == 0:
if A / i == i:
count += 1
else:
count += 2
i += 1
return count
solution = Solution()
input1 = 5
input2 = 10
print("Output 1:", solution.count_factors(input1))
print("Output 2:", solution.count_factors(input2))
JavaScript
function countFactors(A) {
let count = 0;
for (let i = 1; i <= Math.sqrt(A); i++) {
if (A % i === 0) {
if (A / i === i) {
count++;
} else {
count += 2;
}
}
}
return count;
}
const input1 = 5;
const input2 = 10;
console.log("Output 1:", countFactors(input1));
console.log("Output 2:", countFactors(input2));