/* ----------------- 第一题 球从100m高度自由落下 结束 --------- */
/* ----------------- 第二题 5位的正整数 开始 ----------------- */
// int num = 0 , i = 0;
// printf("请输入一个整数: ");
// scanf("%d" , &num);
// while (num) {
// printf("%d" , num % 10);
// num /= 10;
// i++;
// }
// printf("\n该数是 %d 位数!" , i);
/* ----------------- 第二题 5位的正整数 结束 ----------------- */
/* ----------------- 第三题 猴子吃桃问题 开始 ---------------- */
// int num = 1 ;
// for (int i = 9; i >= 1 ; i--) {
// num = 2 * (num + 1);
// }
// printf("%d" , num);
/* ----------------- 第三题 猴子吃桃问题 结束 ---------------- */
/* ----------------- 第四题 分数序列求和问题 开始 ---------------- */
// float num1 = 2 , num2 = 1 , sum = 0;
// for (int i = 0; i < 20; i++) {
// sum += (num1 / num2);
// int cup = num2;
// num2 = num1;
// num1 = num1 + cup;
// }
// printf("sum = %f" , sum);
/* ----------------- 第四题 分数序列求和问题 结束 ---------------- */
/* ----------------- 第五题 判断回文数问题 开始 ---------------- */
// int num = 0 , num1 = 0 , num10 = 0 , num1000 = 0 , num10000 = 0;
// printf("请输入一个五位数 !");
// scanf("%d" , &num);
// num1 = num % 10;
// num10 = (num % 100 - num1) / 10;
// num10000 = num / 10000;
// num1000 = num / 1000 - 10 * num10000;
// if((num10000 == num1) && (num1000 == num10)) {
// printf("\n%d 是回文数!\n" , num);
// } else {
// printf("\n%d 不是回文数!" , num);
// }
/* ----------------- 第五题 判断回文数问题 结束 ---------------- */
/* ----------------- 第六题 查找最长单词问题 开始 ---------------- */
// char sentence[100] = "hello my name is 007 , and i like mengsangou game !";
// int i = 0 , j = 0 , maxnum = 0;
// char maxword[100] = {'\0'} , realmaxword[100] = {'\0'};
// while (sentence[i] != '\0') {
// if (sentence[i] != ' ') {
// maxword[j] = sentence[i];
// j++;
// } else {
// if(maxnum < j) {
// maxnum = j;
// strcpy(realmaxword, maxword);
// }
// j = 0;
// }
// i++;
// }
// printf("最长单词是:%s" , realmaxword);
/* ----------------- 第六题 查找最长单词问题 结束 ---------------- */
/* ----------------- 第七题 循环打印三角形 开始 ---------------- */
// printf("请输入三角形层数");
// int n = 0;
// scanf("%d" , &n);
// for (int i = 0; i < n; i++) {
// for (int j = 0; j < n - i - 1; j++) {
// printf(" ");
// }
// for (int j = 0; j <= 2 * i ; j++) {
// printf("*");
// }
// printf("\n");
// }
/* ----------------- 第七题 循环打印三角形 结束 ---------------- */
/* ----------------- 第八题 耶稣13个门徒 开始 ---------------- */
// int madisciples[13] = {0};
// int i = 0 , j = 0 , s = 0 ,x = 0;
// while (x < 13) {
// i = j % 13;
// if (madisciples[i] == 0) {
// s++;
// if (s >= 3) {
// madisciples[i] = 1;
// s = 0;
// x++;
// }
// }
// j++;
// }
// printf("第%d位是叛徒!" , i + 1);
/* ----------------- 第八题 耶稣13个门徒 结束 ---------------- */
/* ----------------- 思考题 --------------------------- */
int a[1000000] = {0} , b[1000000] = {0} , num = 0 , ii = 0;
BOOL bd = NO;
a[0] = arc4random() % 1000000;
printf("%10d\t" , a[0]);
for (int i = 1; i < 1000000; i++) {
bd = NO;
num = arc4random() % 1000000;
printf("%10d\t" , num);
for (int j = 0; j < i; j++) {
if(a[j] == num) {
b[j] += 1;
bd = YES;
break;
}
}
if (!bd) {
ii++;
a[ii] = num;
}
}
for (int i = 0; i <= ii; i++) {
printf("\n重复的数: %d 该数重复次数 :%d " , a[i] , b[i] + 1);
}