做网站赚取广告费,猪八戒网站怎么做任务,官网关键词优化价格,公司注册资金可以取出来用吗题目描述:
有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果#xff0c;然后进行下面的游戏#xff1a; 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后#xff0c;拥有奇数颗糖的孩子由老师补给1个糖果#xff0c;从而变成偶数。 反复进行这个游戏…题目描述:
有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果然后进行下面的游戏 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后拥有奇数颗糖的孩子由老师补给1个糖果从而变成偶数。 反复进行这个游戏直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下老师一共需要补发多少个糖果。
代码:
package lanqiao;import java.math.BigInteger;
import java.util.*;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int[] ar1 new int[n]; //原本糖果的数目int[] ar2 new int[n]; //给左孩子的糖果数目for(int i 0;i n;i ){ar1[i] sc.nextInt();}boolean flag true;int sum 0;while(flag){flag false;for(int i 0;i n;i ){if(i n - 1){ar2[0] ar1[i] / 2;ar1[i] ar1[i] / 2;}else{ar2[i 1] ar1[i] / 2;ar1[i] ar1[i] / 2;}}for(int i 0;i n;i ){ar1[i] ar2[i]; //加上旁边给的糖果}for(int i 0;i n;i ){if(ar1[i] % 2 ! 0){ar1[i] 1;sum ;}if(ar1[0] ! ar1[i]){ //判断孩子们手中糖果是否相等flag true;}}}System.out.println(sum);}
}