解题思路:
注意事项:
参考代码:
import java.util.Scanner;
public class Main{
static int t;
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
int[] arr=new int[n];
int ans=0;
for(int i=0;i<n;i++){
arr[i]=scanner.nextInt();
}
while(true){
t=arr[0];
for(int i=0;i<=n-2;i++){
arr[i]-=arr[i]/2;
arr[i]+=arr[i+1]/2;
if((arr[i]&1)==1){
ans++;
arr[i]++;
}
}
arr[n-1]-=arr[n-1]/2;
arr[n-1]+=t/2;
if((arr[n-1]&1)==1){
ans++;
arr[n-1]++;
}
if(check(arr,n)){
System.out.println(ans);
return ;
}
}
}
private static boolean check(int[] arr,int n) {
for(int i=1;i<n;i++){
if(arr[i]!=t){
return false;
}
}
return true;
}
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:772 |
WU-C语言程序设计教程(第三版)课后习题12.1 (C++代码)浏览:930 |
永远的丰碑 (C语言代码)浏览:518 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:672 |
1134题解(求分析)浏览:725 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:527 |
1392题解(大数相加)浏览:603 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:562 |
老王赛马 (C++代码)浏览:904 |
简单的a+b (C语言代码)浏览:635 |