Update hw4 to a newer version.
Signed-off-by: jmug <u.g.a.mariano@gmail.com>
This commit is contained in:
parent
07d34c0cd8
commit
b24a264f7e
221 changed files with 846 additions and 746 deletions
39
hw4/hw4programs/no_of_fac.oat
Normal file
39
hw4/hw4programs/no_of_fac.oat
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
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);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue