10 lines
389 B
D
10 lines
389 B
D
void main() {
|
|
import std.stdio, std.algorithm, std.range, core.bitop;
|
|
|
|
enum pCount = (ulong n) => popcnt(n & uint.max) + popcnt(n >> 32);
|
|
writefln("%s\nEvil: %s\nOdious: %s",
|
|
uint.max.iota.map!(i => pCount(3L ^^ i)).take(30),
|
|
uint.max.iota.filter!(i => pCount(i) % 2 == 0).take(30),
|
|
uint.max.iota.filter!(i => pCount(i) % 2).take(30));
|
|
}
|