Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #define N_NUMBER 30
- int main(void) {
- int number[N_NUMBER], sum, even, i = 0, j, k;
- /* 0以下の数値が入力されるまで標準入力から数値を読み込む */
- do {
- scanf("%d", &number[i++]);
- } while (i - 1 <= N_NUMBER && number[i - 1] > 0);
- --i;
- /* 乱数列を初期化する */
- srand((unsigned) time(NULL));
- for (k = 0; k < 5; k++) {
- do {
- /* 数値をシャッフルする */
- for (j = i; j >= 1; j--) {
- int tmp, x = rand() % j;
- tmp = number[x]; number[x] = number[j]; number[j] = tmp;
- }
- /* シャッフルした数値の先頭五つを候補として性質を検証する */
- sum = even = 0;
- for (j = 0; j < 5; j++) {
- sum += number[j];
- if ((number[j] % 2) == 0) ++even;
- }
- } while (sum < 70 || sum > 90 || even < 2 || even > 3);
- /* 選択された数値を出力する */
- for (j = 0; j < 5; j++) printf("%d ", number[j]);
- printf("\n\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement