CS153/hw4/hw4programs/no_of_fac.oat

40 lines
697 B
Text
Raw Normal View History

int mod (int a, int b) {
var t = a;
while (t - b >= 0) {
t = t - b;
}
return t;
}
int div (int a, int b) {
var result = 0;
var num = a;
var denom = b;
while (num > 0) {
num = num - denom;
result = result + 1;
}
return result;
}
int no_of_factors(int n) {
var num_fact = 1;
var input = n;
for (var i = 2; i * i < input + 1; i=i+1;) {
var power = 0;
while (mod(n, i) == 0) {
n = div(n, i);
power = power + 1;
}
num_fact = num_fact * (power + 1);
}
if (n > 1) {
num_fact = num_fact * 2;
}
return num_fact;
}
int program (int argc, string[] argv) {
return no_of_factors(6400);
}