历届试题 分糖果

xiaoxiao2021-02-28  31

代码如下:

package PREV_32; import java.util.Scanner; public class Main { public static int sum=0; public static void fun(int a[]){ while(true){ boolean flag=true; for(int i=1;i<a.length;i++){ if(a[i]!=a[i-1]){ flag=false; break; } } if(flag){ break; } int b[]=new int[a.length]; /* *b[] 计算出分给每个孩子的右边孩子的一半 */ for(int i=0;i<a.length;i++){ if(i==a.length-1) b[0]=a[i]/2; else b[i+1]+=a[i]/2; } /* * 由于每个孩子已经分出去一半 所以此时每个孩子均剩下一半糖果 即a[]/2; */ for(int i=0;i<a.length;i++){ a[i]=a[i]/2+b[i]; if(a[i]%2!=0){ a[i]++; sum++; } } } System.out.print(sum); } public static void main(String[] args) { Scanner cin=new Scanner(System.in); int n=cin.nextInt(); int a[]=new int[n]; for(int i=0;i<n;i++){ a[i]=cin.nextInt(); } fun(a); } }
转载请注明原文地址: https://www.6miu.com/read-2629227.html

最新回复(0)