Count in factors: Difference between revisions

Content added Content deleted
Line 946:
function : Main(args : String[]) ~ Nil {
for(i := 1; i <= 10; i += 1;){
count := CountInFactors(i);
("{$i} = {$count}")->PrintLine();
};
 
for(i := 9991; i <= 10000; i += 1;){
count := CountInFactors(i);
("{$i} = {$count}")->PrintLine();
};
}
 
function : CountInFactors(n : Int) ~ String {
if(n = 1) {
return "1";
};
 
sb := "";
n := CheckFactor(2, n, sb);
if(n = 1) {
return sb;
};
 
n := CheckFactor(3, n, sb);
if(n = 1) {
return sb;
};
 
for(i := 5; i <= n; i += 2;) {
if(i % 3 <> 0) {
n := CheckFactor(i, n, sb);
if(n = 1) {
Line 979:
};
};
};
 
return sb;
}
 
function : CheckFactor(mult : Int, n : Int, sb : String) ~ Int {
while(n % mult = 0 ) {
if(sb->Size() > 0) {
sb->Append(" x ");
};
sb->Append(mult);
n /= mult;
};
 
return n;
}
}