• 蓝桥杯练习 分糖果


    问题描述
      有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:

      每个小朋友都把自己的糖果分一半给左手边的孩子。

      一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。

      反复进行这个游戏,直到所有小朋友的糖果数都相同为止。

      你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。
    输入格式
      程序首先读入一个整数N(2<N<100),表示小朋友的人数。
      接着是一行用空格分开的N个偶数(每个偶数不大于1000,不小于2)
    输出格式
      要求程序输出一个整数,表示老师需要补发的糖果数。
    样例输入
    3
    2 2 4
    样例输出
    4
     1 #include <stdio.h> 
     2 #include <stdlib.h>
     3 int main()
     4 {
     5     int n;//小朋友的个数
     6     int a[1000];//每个小朋友的糖果数
     7 
     8     int i;
     9     int j;
    10     int count=0;
    11     int sum=0;
    12     int t;
    13     int temp;
    14     scanf("%d",&n); 
    15     for(i=0;i<n;i++)
    16     {
    17         scanf("%d",&a[i]); 
    18     }
    19 
    20     while(1){
    21         for(j=0;j<n;j++)
    22      {
    23         if(a[j]!=a[0])
    24         {
    25             break;
    26         }
    27         else 
    28         count++;
    29      }
    30      if(count==n)
    31      {
    32          break;
    33      }
    34         temp = a[n-1] / 2;    
    35      
    36         for(i = 0; i < n; i ++){    
    37             t = a[i] / 2;    
    38             a[i] = t + temp;    
    39             temp = t;    
    40         }    
    41      for(j=0;j<n;j++)
    42      {
    43          if(a[j]%2!=0)
    44          {
    45              a[j]=a[j]+1;
    46              sum++;
    47          }
    48      }
    49      count=0;
    50     }    
    51     printf("%d",sum);
    52 
    53     return 0;
    54 }

    问题记录:在计算每个小朋友分给左边小朋友糖果时候出现问题,着重复习。

    整个过程就是按照 游戏进程 书写

  • 相关阅读:
    OpenCV和PHP的人脸识别技术
    Nginx下防CC和DDOS攻击
    Centos 6.0 yum 更新源
    linux(centos) 常用命令
    在 Nginx 中配置 Zend Framework
    nginx虚拟主机配置实例
    mysql精简语句集
    nginx rewrite 参数和例子
    nginx 和 subversion
    ZendFramework,php编码规范
  • 原文地址:https://www.cnblogs.com/jweie/p/8340557.html
Copyright © 2020-2023  润新知