Tasks Details
easy
1.
CountFactors
Count factors of given number n.
Task Score
71%
Correctness
100%
Performance
33%
A positive integer D is a factor of a positive integer N if there exists an integer M such that N = D * M.
For example, 6 is a factor of 24, because M = 4 satisfies the above condition (24 = 6 * 4).
Write a function:
class Solution { public int solution(int N); }
that, given a positive integer N, returns the number of its factors.
For example, given N = 24, the function should return 8, because 24 has 8 factors, namely 1, 2, 3, 4, 6, 8, 12, 24. There are no other factors of 24.
Write an efficient algorithm for the following assumptions:
- N is an integer within the range [1..2,147,483,647].
Copyright 2009–2025 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.
Solution
Programming language used Java 21
Time spent on task 11 minutes
Notes
not defined yet
Code: 04:22:17 UTC,
java,
autosave
Code: 04:31:37 UTC,
java,
verify,
result: Passed
// you can also use imports, for example:
// import java.util.*;
// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");
class Solution {
public int solution(int N) {
// write your code in Java SE 8
int fCnt = 0;
for (int i=1; i<=N; i++) {
if (N%i == 0) {
fCnt++;
}
}
return fCnt;
}
}
Analysis
Code: 04:31:59 UTC,
java,
verify,
result: Passed
// you can also use imports, for example:
// import java.util.*;
// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");
class Solution {
public int solution(int N) {
// write your code in Java SE 8
int fCnt = 0;
for (int i=1; i<=N; i++) {
if (N%i == 0) {
fCnt++;
}
}
return fCnt;
}
}
User test case 1:
[24]
User test case 2:
[1]
User test case 3:
[5]
User test case 4:
[2147483647]
User test case 5:
[156]
User test case 6:
[183]
User test case 7:
[15674856]
User test case 8:
[245643]
Analysis
expand all
User tests
1.
0.008 s
OK
function result: 8
function result: 8
1.
0.008 s
OK
function result: 1
function result: 1
1.
0.004 s
OK
function result: 2
function result: 2
1.
5.000 s
TIMEOUT ERROR,
Killed. Hard limit reached: 5.000 sec.
1.
0.004 s
OK
function result: 12
function result: 12
1.
0.008 s
OK
function result: 4
function result: 4
1.
0.204 s
OK
function result: 32
function result: 32
1.
0.008 s
OK
function result: 8
function result: 8
Code: 04:32:37 UTC,
java,
verify,
result: Passed
// you can also use imports, for example:
// import java.util.*;
// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");
class Solution {
public int solution(int N) {
// write your code in Java SE 8
int fCnt = 0;
for (int i=1; i<=N; i++) {
if (N%i == 0) {
fCnt++;
}
}
return fCnt;
}
}
User test case 1:
[24]
User test case 2:
[1]
User test case 3:
[5]
User test case 4:
[2147483646]
User test case 5:
[156]
User test case 6:
[183]
User test case 7:
[15674856]
User test case 8:
[245643]
Analysis
expand all
User tests
1.
0.004 s
OK
function result: 8
function result: 8
1.
0.008 s
OK
function result: 1
function result: 1
1.
0.004 s
OK
function result: 2
function result: 2
1.
5.000 s
TIMEOUT ERROR,
Killed. Hard limit reached: 5.000 sec.
1.
0.004 s
OK
function result: 12
function result: 12
1.
0.004 s
OK
function result: 4
function result: 4
1.
0.204 s
OK
function result: 32
function result: 32
1.
0.008 s
OK
function result: 8
function result: 8
Code: 04:32:55 UTC,
java,
verify,
result: Passed
// you can also use imports, for example:
// import java.util.*;
// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");
class Solution {
public int solution(int N) {
// write your code in Java SE 8
int fCnt = 0;
for (int i=1; i<=N; i++) {
if (N%i == 0) {
fCnt++;
}
}
return fCnt;
}
}
User test case 1:
[24]
User test case 2:
[1]
User test case 3:
[5]
User test case 4:
[156]
User test case 5:
[183]
User test case 6:
[15674856]
User test case 7:
[245643]
Analysis
expand all
User tests
1.
0.008 s
OK
function result: 8
function result: 8
1.
0.004 s
OK
function result: 1
function result: 1
1.
0.004 s
OK
function result: 2
function result: 2
1.
0.004 s
OK
function result: 12
function result: 12
1.
0.004 s
OK
function result: 4
function result: 4
1.
0.204 s
OK
function result: 32
function result: 32
1.
0.008 s
OK
function result: 8
function result: 8
Code: 04:33:05 UTC,
java,
verify,
result: Passed
// you can also use imports, for example:
// import java.util.*;
// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");
class Solution {
public int solution(int N) {
// write your code in Java SE 8
int fCnt = 0;
for (int i=1; i<=N; i++) {
if (N%i == 0) {
fCnt++;
}
}
return fCnt;
}
}
User test case 1:
[24]
User test case 2:
[1]
User test case 3:
[5]
User test case 4:
[156]
User test case 5:
[183]
User test case 6:
[15674856]
User test case 7:
[245643]
Analysis
expand all
User tests
1.
0.008 s
OK
function result: 8
function result: 8
1.
0.008 s
OK
function result: 1
function result: 1
1.
0.004 s
OK
function result: 2
function result: 2
1.
0.004 s
OK
function result: 12
function result: 12
1.
0.008 s
OK
function result: 4
function result: 4
1.
0.200 s
OK
function result: 32
function result: 32
1.
0.008 s
OK
function result: 8
function result: 8
Code: 04:33:11 UTC,
java,
final,
score: 
71
// you can also use imports, for example:
// import java.util.*;
// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");
class Solution {
public int solution(int N) {
// write your code in Java SE 8
int fCnt = 0;
for (int i=1; i<=N; i++) {
if (N%i == 0) {
fCnt++;
}
}
return fCnt;
}
}
Analysis summary
The following issues have been detected: timeout errors.
For example, for the input 27043111 the solution exceeded the time limit.
Analysis
Detected time complexity:
O(N)
expand all
Correctness tests
1.
0.004 s
OK
2.
0.004 s
OK
1.
0.004 s
OK
2.
0.004 s
OK
3.
0.004 s
OK
4.
0.004 s
OK
5.
0.004 s
OK
6.
0.004 s
OK
7.
0.004 s
OK
8.
0.004 s
OK
9.
0.004 s
OK
10.
0.004 s
OK
1.
0.004 s
OK
2.
0.004 s
OK
1.
0.004 s
OK
2.
0.004 s
OK
3.
0.008 s
OK
1.
0.004 s
OK
2.
0.004 s
OK
1.
0.008 s
OK
2.
0.008 s
OK
1.
0.004 s
OK
2.
0.004 s
OK
1.
0.004 s
OK
expand all
Performance tests
1.
0.012 s
OK
2.
0.028 s
OK
1.
0.052 s
OK
2.
0.076 s
OK
3.
0.068 s
OK
big1
N=27,043,111, N=39,916,800=11!, N = 39,992,976
N=27,043,111, N=39,916,800=11!, N = 39,992,976
✘
TIMEOUT ERROR
running time: 0.348 sec., time limit: 0.100 sec.
running time: 0.348 sec., time limit: 0.100 sec.
1.
0.348 s
TIMEOUT ERROR,
running time: 0.348 sec., time limit: 0.100 sec.
2.
0.512 s
TIMEOUT ERROR,
running time: 0.512 sec., time limit: 0.100 sec.
3.
0.512 s
TIMEOUT ERROR,
running time: 0.512 sec., time limit: 0.100 sec.
1.
1.236 s
TIMEOUT ERROR,
running time: 1.236 sec., time limit: 0.100 sec.
2.
3.408 s
TIMEOUT ERROR,
running time: 3.408 sec., time limit: 0.100 sec.
big3
N=479,001,600=12!, N=780291637(prime), N=449,991,369
N=479,001,600=12!, N=780291637(prime), N=449,991,369
✘
TIMEOUT ERROR
Killed. Hard limit reached: 6.000 sec.
Killed. Hard limit reached: 6.000 sec.
1.
6.000 s
TIMEOUT ERROR,
Killed. Hard limit reached: 6.000 sec.
2.
6.000 s
TIMEOUT ERROR,
Killed. Hard limit reached: 6.000 sec.
3.
5.712 s
TIMEOUT ERROR,
running time: 5.712 sec., time limit: 0.100 sec.
extreme_maxint
N=1,000,000,000, N=MAX_INT, N=2147,395,600
N=1,000,000,000, N=MAX_INT, N=2147,395,600
✘
TIMEOUT ERROR
Killed. Hard limit reached: 6.000 sec.
Killed. Hard limit reached: 6.000 sec.
1.
6.000 s
TIMEOUT ERROR,
Killed. Hard limit reached: 6.000 sec.
2.
6.000 s
TIMEOUT ERROR,
Killed. Hard limit reached: 6.000 sec.
3.
6.000 s
TIMEOUT ERROR,
Killed. Hard limit reached: 6.000 sec.