20 lines
357 B
D
20 lines
357 B
D
uint factorial(in uint n) pure nothrow @nogc
|
|
in {
|
|
assert(n <= 12);
|
|
} body {
|
|
uint result = 1;
|
|
foreach (immutable i; 1 .. n + 1)
|
|
result *= i;
|
|
return result;
|
|
}
|
|
|
|
// Computed and printed at compile-time.
|
|
pragma(msg, 12.factorial);
|
|
|
|
void main() {
|
|
import std.stdio;
|
|
|
|
// Computed and printed at run-time.
|
|
12.factorial.writeln;
|
|
}
|