博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
老师给小孩子分糖
阅读量:4597 次
发布时间:2019-06-09

本文共 1446 字,大约阅读时间需要 4 分钟。

输入N(几个孩子),N个数值(表示每个小孩本来已经有的糖数),

每一个孩子每轮都要给右边的孩子自己原来的一半的糖(先给后得),

当孩子的手中的糖的数量出现奇数的时候,老师给他添加一块

求要几轮才能出现每个孩子手中的糖数量一样多? 

 

 1 
/*
 2 
测试数据:
 3 
6
 4 
5 8 1 6 7 4
 5 
*/
 6 #include <stdio.h>
 7 #include <stdlib.h>
 8 
 9 
int Arr_student[
100];
10 
11 
int divide(
int N,
int Arr_student[])
12 {
13     
int temp;
14 
15     
if(Arr_student[N]%
2 !=
0)
16     {
17         Arr_student[N]+=
1;
18     }
19 
20     
if(N!=
0)
21     {
22         temp=Arr_student[N]/
2;
23         Arr_student[N]=divide(N-
1,Arr_student)+temp;
24         
return temp;
25     }
26     
else
27     {
28         Arr_student[
0]/=
2;
29          
return Arr_student[
0];
30     }
31 
32 }
33 
34 
int check(
int temp,
int Arr_student[])
35 {
36     
while(temp!=
0)
37     {
38         
if(Arr_student[temp]!=Arr_student[--temp])
39         
return 
0;
40     }
41 
42     
return 
1;
43 }
44 
45 
void print(
int N_student)
46 {
47     
int i;
48     
for(i=
0;i<N_student;i++)
49     {
50         printf(
"
%d 
",Arr_student[i]);
51     }
52     printf(
"
\n
");
53 }
54 
55 
int main()
56 {
57     
int N_student,i,tmp,count=
0;
58 
59     scanf(
"
%d
",&N_student);
60 
61     
for(i=
0;i<N_student;i++)
62     scanf(
"
%d
",&Arr_student[i]);
63 
64     
while(check(N_student-
1,Arr_student)!=
1)
65     {
66         tmp = divide(N_student-
1,Arr_student);
67         
//
printf("%d\n",tmp);
68 
        
//
学生0要加上从最后的那位学生得来的糖果
69 
        Arr_student[
0]+=tmp;
70         print(N_student);
71         count++;
72     }
73 
74     printf(
"
%d\n
",count);
75     
//
printf("½á¹û£º\n");
76 
    
//
for(i=0;i<N_student;i++)
77 
    
//
printf("%d ",Arr_student[i]);
78 
79     
return 
0;

80 } 

 结果:

 

转载于:https://www.cnblogs.com/zhengmian/archive/2012/05/12/sugger_distribute.html

你可能感兴趣的文章
totoise svn误将桌面作为checkout路径,界面一堆?
查看>>
java写"\n"写入到txt文本用记事本打开出现黑框解决方案
查看>>
第三章例3-7
查看>>
心得五
查看>>
react antD moment
查看>>
MySql创建指定字符集的数据库
查看>>
bzoj 3172 AC自动机
查看>>
rabbitmq
查看>>
解决Latex中Itemize距离过大的问题
查看>>
1打印沙漏
查看>>
LeetCode | Rotate List
查看>>
CodeForces - 455D
查看>>
【转】Django模糊查询
查看>>
Bugtags 创业一年总结
查看>>
UML建模原理
查看>>
[BZOJ 1083] [SCOI2005] 繁忙的都市
查看>>
图解C#的值类型,引用类型,栈,堆,ref,out
查看>>
spring5.0版本-AOP-如何实现拦截器链式调用(责任链模式)
查看>>
dht11 temperature & humidity sensor v2
查看>>
selenium 启动 IE11
查看>>