37 lines
967 B
D
37 lines
967 B
D
import std.stdio, std.traits, std.bigint, std.string;
|
|
|
|
void integerSequence(T)() if (isIntegral!T || is(T == BigInt)) {
|
|
T now = 1;
|
|
T max = 0;
|
|
static if (!is(T == BigInt))
|
|
max = T.max;
|
|
|
|
do
|
|
write(now, " ");
|
|
while (now++ != max);
|
|
|
|
writeln("\nDone!");
|
|
}
|
|
|
|
void main() {
|
|
writeln("How much time do you have?");
|
|
writeln(" 0. I'm in hurry.");
|
|
writeln(" 1. I've some time.");
|
|
writeln(" 2. I'm on vacation.");
|
|
writeln(" 3. I'm unemployed...");
|
|
writeln(" 4. I'm immortal!");
|
|
write("Enter 0-4 or nothing to quit: ");
|
|
|
|
string answer;
|
|
readf("%s\n", &answer);
|
|
|
|
switch (answer.toLower()) {
|
|
case "0": integerSequence!ubyte(); break;
|
|
case "1": integerSequence!short(); break;
|
|
case "2": integerSequence!uint(); break;
|
|
case "3": integerSequence!long(); break;
|
|
case "4": integerSequence!BigInt(); break;
|
|
default: writeln("\nBye bye!"); break;
|
|
}
|
|
}
|