蓝桥杯竞赛题—— 历届试题【分糖果】

分糖果 

有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:

      每个小朋友都把自己的糖果分一半给左手边的孩子。
     一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。
      反复进行这个游戏,直到所有小朋友的糖果数都相同为止。

      你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。

【格式要求】

     程序首先读入一个整数N(2      接着是一行用空格分开的N个偶数(每个偶数不大于1000,不小于2)

      要求程序输出一个整数,表示老师需要补发的糖果数。

例如:输入
3
2 2 4
程序应该输出:

4

import java.util.Scanner;

public class Sugger {
	
	public static void main(String[] args) {
		  Scanner in=new Scanner(System.in);
		  int n=in.nextInt();
		  int count=0;
		  int[] a=new int[n];
		  for (int i = 0; i < a.length; i++) {
			a[i]=in.nextInt();
		}
		  
		while (check(a)==false) {
			int m=a[a.length-1];  
	         for(int j=a.length-1;j>0;j--)//每个小朋友都把自己的糖果分一半给左手边的孩子  
	         {  
	           a[j]=a[j]/2+a[j-1]/2;  
	         }  
	         a[0]=a[0]/2+m/2;  
	           
	         for(int j=0;j

你可能感兴趣的:(蓝桥杯)