18 lines
376 B
Plaintext
18 lines
376 B
Plaintext
program population_count;
|
|
print([popcount(3**n) : n in [0..29]]);
|
|
print([n : n in [0..59] | evil n]);
|
|
print([n : n in [0..59] | odious n]);
|
|
|
|
op evil(n);
|
|
return even popcount n;
|
|
end op;
|
|
|
|
op odious(n);
|
|
return odd popcount n;
|
|
end op;
|
|
|
|
op popcount(n);
|
|
return +/[[n mod 2, n div:=2](1) : until n=0];
|
|
end op;
|
|
end program;
|