您的位置:首页 > 其它

历届试题 分糖果

2018-02-18 22:40 113 查看


代码如下:

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
;
for(int i=0;i<n;i++){
a[i]=cin.nextInt();
}
fun(a);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: