参考代码:

import java.util.Scanner;

public class Main{
	public static void main(String[] args){
	   Scanner input=new Scanner(System.in);
	   int num=input.nextInt();
	   int[] arr=new int[num];
	   int[] temparr=new int[num];
	   for(int i=0;i<num;++i)
	      arr[i]=input.nextInt();
	   int sum=0;
	   while(true){
	      boolean flag=true;
	      for(int i=0;i<num-1;++i)
	         if(arr[i]!=arr[i+1])
	            flag=false;
	      if(flag)break;
	      for(int i=num-1;i>0;--i){
	              temparr[i-1]=arr[i]/2;
	              arr[i]=arr[i]/2;
	          }
	          arr[0]=arr[0]/2;
	          temparr[num-1]=arr[0];
	      for(int i=0;i<num;++i){
	         arr[i]+=temparr[i];
	         temparr[i]=0;
	      }
	      for(int i=0;i<num;++i)
	         if(arr[i]%2==1){
	            arr[i]++;
	            sum++;
	         }
	    }
	    System.out.println(sum);
	}
}



点赞(1)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论