Antal olika kombinationer med tre siffror om inledande nollor är OK är 10*10*10 = 1000, utan inledande nollor finns det ett mindre sätt att välja första siffran, dvs: 9*10*10 = 900. Om man vill ha antalet kombinationer med upp till tre siffror : 10*10*10+10*10+10 = 1110 om inledande nolla är OK, 9*10*10+9*10+9 = 999 annars.
Vet inget om C# men så här kan man göra i C
Utan inledande nollor, med tre siffror:
for (int i = 100; i < 1000; ++i)
printf("%d", i);
På samma sätt med "upp till tre siffror" men med i initierat till 1.
Med inledande nollor blir det knepigare. Det här är ett sätt:
for (int i = 0; i < 10; ++i) {
printf("%d", i); // *
for (int j = 0; j < 10; ++j) {
printf("%d%d", i, j); // *
for (int k = 0; k < 10; ++k)
printf("%d%d%d", i, j, k);
}
}
Skriver ut alla kombinationer med upp till tre siffror. För kombinationer med exakt tre siffror ta bort raderna markerade med "// *".