int rand10() { while (true) { const int a = rand7() - 1; const int b = rand7() - 1; const int c = (7 * a) + b; if (c < 40) { return (c % 10) + 1; } } }
int rand10() { int m = rand7(); while (m>5) m = rand7(); int n = rand7(); while (n==7) n = rand7(); return (m-1)*2+n%2+1; }
int rand10() { int a71, a72, a10; int count = 0; do { a71 = rand7() - 1; a72 = rand7() - 1; a10 = a71 * 7 + a72; printf("%d : a71=%d, a72=%d, a10=%d\n", ++count, a71, a72, a10); sleep(1); } while (a10 >= 40); return (a71*7+a72)/4 + 1; }
int main(int argc, char** argv) { preprocess(); int n = atoi(argv[1]); while (n>0) { std::cout << rand7() << std::endl; --n; } return 0; }
int main(void) { srand(time(NULL)); printf("Enter how many numbers you want to generate\n"); printf("> "); unsigned n; while (scanf("%u", &n) == 1) { int i; for (i = 0; i < n; i++) printf("%d\n", rand7()); printf("> "); } return 0; }
int rand10(){ int sum = 0; for(int i=0; i<10; ++i) sum += rand7(); return sum%10+1; }