分糖果

Posted 618zyk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分糖果相关的知识,希望对你有一定的参考价值。

10个小孩围成一圈分糖果,老师分给第1个小孩10块,第2个小孩2块,第3个小孩8块,第4个小孩22块,第5个小孩16块,第6个小孩4块,第7个小孩10块,第8个小孩6块,第9个小孩14块,第10个小孩20块。然后所有的小孩同时将手中的糖分一半给右边的小孩;糖块数为奇数的人可向老师要一块。问经过这样几次后大家手中的糖块数一样多吗?每人各有多少块糖?

#include<iostream>
using namespace std;
int judge(int c[])

for(int i=0;i<10;i++)

if(c[0]!=c[i])

return 1;


return 0;

void print(int s[])

int j;
cout<<j++;
for(int i=0;i<10;i++)

cout<<s[i]<<endl;


int main()

int sweet[10]=10,2,8,22,16,4,10,6,14,20;
int t[10];
cout<<"child 1 2 3 4 5 6 7 8 9 10"<<endl;
cout<<"time"<<endl;
print(sweet);
while(judge(sweet))

for(int i=0;i<10;i++)

if(sweet[i]%2==0)

t[i]=sweet[i]=sweet[i]/2;
else

t[i]=sweet[i]=(sweet[i]+1)/2;


for(int l=0;l<9;l++)

sweet[l+1]=sweet[l+1]+t[l];
sweet[0]=sweet[0]+t[9];

print(sweet);

return 0;

华为机试真题 C++ 实现分糖果

目录

题目

思路

考点

Code


题目

小明从糖果盒中随意抓一把糖果,每次小明会取出一半的糖果分给同学们。

当糖果不能平均分配时,小明可以选择从糖果盒中(假设盒中糖果足够)取出一个糖果或放回一个糖果。

小明最少需要多少次(取出、放回和平均分配均记一次),能将手中糖果分至只剩一颗。

输入描述

抓取的糖果数(<10000000000):

15

输出描述

最少分至一颗糖果的次数:

5

示例1 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

15

输出

<

以上是关于分糖果的主要内容,如果未能解决你的问题,请参考以下文章

分糖果

华为OD机试 - 分糖果(Java) | 机试题+算法思路+考点+代码解析 2023

力扣——分糖果 II

历届试题 分糖果

分糖果问题

分糖果