蓝桥杯没有自己满意的奖 继续加油 往前看 加油 加油加油
这道题不难 主要是每个人都是同时传给隔壁的人 所以 用一个temp该位置要传给下一位多少个糖果 temp2 是上一位传给现在位置有多少个糖果 依次类推 直到所有值相同跳出循环 输出值
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int num = 0; boolean flag = false; int n = sc.nextInt(); int m = n; if (n != 0) { int arr[] = new int[n]; // 把所有的都存进去 因为是同时交互的 原地变即可 while (m-- > 0) arr[m] = sc.nextInt(); while (!flag) { int t = arr[0]; int i = 0; // 先遍历一遍看是不是所有的值都是相等的 for (; i < n; i++) { if (arr[i] != t) { num++; break; } } if (i == n) flag = true; else if (i != n) { int temp = arr[n - 1] / 2; int temp2; for (int x = 0; x < n; x++) { temp2 = arr[x] / 2; arr[x] = arr[x] / 2 + temp; temp = temp2; if (arr[x] % 2 != 0) arr[x]++; } } }System.out.println(num + " " + arr[0]); } } } }