zoukankan      html  css  js  c++  java
  • 蓝桥杯练习 分糖果

    问题描述
      有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 }

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

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

  • 相关阅读:
    php-浅谈php底层机制
    Apache-三种工作模式(prefork/ worker/Event)
    java入门了解01
    webserivce通过httppost方式调用
    sqlserver 打开 database diagrams 报错:error code 0x54b
    redhat7,redhat6 替换yum
    虚拟机网络配置的一点总结
    搭建sqlserver AlwaysOn
    NSSM-将服务变为window service
    JavaMelody-监控jvm性能
  • 原文地址:https://www.cnblogs.com/jweie/p/8340557.html
Copyright © 2011-2022 走看看