算法笔记_170:历届试题 分糖果(Java)
目录
1 问题描述
每个小朋友都把自己的糖果分一半给左手边的孩子。
一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。
反复进行这个游戏,直到所有小朋友的糖果数都相同为止。
你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。
接着是一行用空格分开的N个偶数(每个偶数不大于1000,不小于2)
2 2 4
2 解决方案

具体代码如下:
import java.util.Scanner;
public class Main {
public static int N;
public static int[] Child;
public static int count = 0; //最终输出结果
public void getResult() {
while(true) {
boolean judge = true;
for(int i = 1;i < N;i++) {
if(Child[0] != Child[i]) {
judge = false;
break;
}
}
if(judge)
break;
int[] half = new int[N];
for(int i = 0;i < N;i++) {
if(i == N - 1)
half[0] = Child[i] / 2;
else
half[i + 1] = Child[i] / 2;
}
for(int i = 0;i < N;i++) {
Child[i] = Child[i] / 2 + half[i];
if(Child[i] % 2 == 1) {
count++;
Child[i]++;
}
}
}
System.out.println(count);
}
public static void main(String[] args) {
Main test = new Main();
Scanner in = new Scanner(System.in);
N = in.nextInt();
Child = new int[N];
for(int i = 0;i < N;i++)
Child[i] = in.nextInt();
test.getResult();
}
}
算法笔记_170:历届试题 分糖果(Java)的更多相关文章
- 算法笔记_177:历届试题 城市建设(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 栋栋居住在一个繁华的C市中,然而,这个城市的道路大都年久失修.市长准备重新修一些路以方便市民,于是找到了栋栋,希望栋栋能帮助他. C市中有 ...
- 算法笔记_183:历届试题 九宫重排(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干次移动,可以形成 ...
- 算法笔记_172:历届试题 波动数列(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 观察这个数列: 1 3 0 2 -1 1 -2 ... 这个数列中后一项总是比前一项增加2或者减少3. 栋栋对这种数列很好奇,他想知道长度 ...
- 算法笔记_186:历届试题 高僧斗法(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 古时丧葬活动中经常请高僧做法事.仪式结束后,有时会有“高僧斗法”的趣味节目,以舒缓压抑的气氛. 节目大略步骤为:先用粮食(一般是稻米)在地 ...
- 算法笔记_196:历届试题 剪格子(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 如下图所示,3 x 3 的格子中填写了一些整数. +--*--+--+|10* 1|52|+--****--+|20|30* 1|**** ...
- 算法笔记_195:历届试题 错误票据(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 某涉密单位下发了某种票据,并要在年终全部收回. 每张票据有唯一的ID号.全年所有票据的ID号是连续的,但ID的开始数码是随机选定的. 因为 ...
- 算法笔记_194:历届试题 翻硬币(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 小明正在玩一个“翻硬币”的游戏. 桌上放着排成一排的若干硬币.我们用 * 表示正面,用 o 表示反面(是小写字母,不是零). 比如,可能情 ...
- 算法笔记_190:历届试题 幸运数(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的“筛法”生成 . 首先从1开始写出自然数1,2,3,4,5,6,.... 1 就是第 ...
- 算法笔记_188:历届试题 危险系数(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 抗日战争时期,冀中平原的地道战曾发挥重要作用. 地道的多个站点间有通道连接,形成了庞大的网络.但也有隐患,当敌人发现了某个站点后,其它站点 ...
随机推荐
- javascript中的lambda表达式
<!DOCTYPE html> <html> <head> </head> <body> <script> var nubLis ...
- spring---transaction(5)---事务的体系
1.写在前面 事务的模型为3中: 本地事务模式. 编程事务模式. 声明事务模式. 例子1:本地事务模式 Connection conn=jdbcDao.getConnection(); Prepare ...
- 重温PHP之快速排序
基本原理:选出当前数组中任一元素(通常为第一个)作为标准,新建两个空数组分别置于当前数组前后,然后遍历当前数组,如果数组中元素值小于等于第一个元素值就放到前边空数组,否则放到后边空数组. //快速排序 ...
- hdu 2112 HDU Today (floyd算法)
这道题貌似在原来学长给我们的搞的小比赛中出过! 这次又让我遇到,果断拿下! 不过方法很蠢,跑了1000多ms,虽然要求5000ms以内! 题目就是给你一些位置之间的距离,然后再让你求特定的两点之间的距 ...
- UVALive 3135--Argus+自己定义优先队列的优先规则
题目链接:id=18684">点击进入 仅仅是题意比較难懂,读懂题后全然能够用优先队列水过去.这次学会自己定义优先队列的优先规则,事实上就是在结构体中重载一下<运算符. 代码例如 ...
- 跨境网上收款 找PayPal没错(获取Client ID 和 secret)
原文地址:http://blog.csdn.net/qiandublog/article/details/52809731 只需一个PayPal账户,全球1.9亿网购买家触手可得 不管您有没有网站,拥 ...
- 创建新的Cocos2dx 3.0项目并解决一些编译问题
转载请注明出处:http://blog.csdn.net/cywn_d/article/details/25775019 假设是原来使用cocos2dx 2.x要升级到3.0的项目,可能须要替换coc ...
- hadoop安装入门
1.jdk安装和配置 1.1下载最新jdk文件 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-18802 ...
- android破解
1.adb shell dumpsys activity top 能够获取到当前程序的Activity信息 2.1.在invoke-static/invoke-virtual指令他的返回类型是V之后可 ...
- linux内核编译指定工具连
make modules CROSS_COMPILE=arm-linux-