解题思路:
注意事项:
参考代码:
Scanner sc = new Scanner(System.in); int n = sc.nextInt(),count = 0; //人数,计数器 int[] arr = new int[n]; //给小朋友分发糖果 for (int i = 0; i < n; i++) { arr[i] = sc.nextInt(); } while (true) { //判断每个小朋友的糖果数量,如果为奇数老师就补发一颗 for (int i = 0; i < n; i++) { if (arr[i] % 2 != 0) { arr[i]++; count++; } } boolean flag = true; //控制变量 //判断每个小朋友的糖果数量是否一致 for (int i = 0; i < n; i++) { if (arr[0] != arr[i]) { flag = false; break; } } //如果糖果数量一致则输出老师补发的糖果数 if (flag) { System.out.println(count); return; } //分糖果 int m = arr[0]; //arr[0]是个变量,所以要存储在分糖果之前的变量里 for (int i = 0; i < n; i++) { if (i == n - 1) { //最后一位小朋友的糖果数量 = 第一位小朋友的糖果数量的一半 + 自己已经分发出去糖果数量的一半 arr[n - 1] = (arr[n - 1] / 2) + (m / 2); } else { arr[i] = (arr[i] / 2) + (arr[i + 1] / 2); } } }
0.0分
1 人评分
小九九 (C语言代码)浏览:885 |
C语言训练-斐波纳契数列 (C语言代码)浏览:3015 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:583 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:530 |
震宇大神的杀毒软件 (C++代码)浏览:1173 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:781 |
【亲和数】 (C语言代码)浏览:908 |
打水问题 (C语言代码)浏览:1148 |
字符串的输入输出处理 (C语言代码)浏览:1019 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:467 |