幼儿园老师带领n个小朋友围成一圈做游戏,首先发给每个小朋友任意数量不等的积木,再给得到单数积木的小朋友1个积木凑成双数,然后开始一轮游戏,每个小朋友把自己的积木分一半给坐在左边的小朋友.往下给单数的小朋友加1个凑成双数后做下一轮,就这样一轮一轮做直到所有小朋友的积木数量都相同.编程模拟此过程,输出每一轮各个小朋友积木的数量.
public class max {
public static void main(String[] agrs) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int a[] = new int[n];
int y = 0;//暂存数量以免变基数
int x = 0;
for (int i = 0; i < a.length; i++) {
a[i] = sc.nextInt();
}//赋值给每个小朋友木棍
for (int j=0;j<10000;j++){
for (int i = 0; i < a.length; i++) {//每个拿到基数个的小朋友加一根
if (a[i] % 2 != 0) {
a[i] = a[i] + 1;
}
}
int b[] = Arrays.copyOf(a,a.length);
for (int i = 1; i < n; i++) {
a[i]=(b[i-1]+b[i])/2;
}
a[0]=(b[0]+b[n-1])/2;
int

该程序模拟了一个幼儿园游戏中,小朋友围成一圈传递积木的过程。游戏开始时,每个小朋友获得不同数量的积木,之后每轮将单数积木的小朋友增加一个使其变为双数,并将积木数量减半分给左边的小朋友。程序会持续这个过程直到所有小朋友的积木数量相同,输出每一轮各小朋友的积木数量。
最低0.47元/天 解锁文章
970

被折叠的 条评论
为什么被折叠?



