zoukankan      html  css  js  c++  java
  • 分糖果

      历届试题 分糖果  
    时间限制:1.0s   内存限制:256.0MB
        
    问题描述
      有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:

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

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

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

      你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。
    输入格式
      程序首先读入一个整数N(2<N<100),表示小朋友的人数。
      接着是一行用空格分开的N个偶数(每个偶数不大于1000,不小于2)
    输出格式
      要求程序输出一个整数,表示老师需要补发的糖果数。
    样例输入
    3
    2 2 4
    样例输出
    4
     
     
     
     1 #include "stdio.h"
     2 #include <iostream>
     3 using namespace std;
     4 int count=0;
     5 void fentangguo(int a[],int n){
     6     int m=a[0];
     7     int i;
     8     for(i=0;i < n-1;i++){
     9         a[i]=a[i]/2+a[i+1]/2;
    10     }
    11     a[i]=a[i]/2+m/2;
    12 }
    13 void jiatangguo(int a[],int n){
    14     int i;
    15     for(i=0;i < n;i++){
    16         if(a[i]%2==1){
    17             a[i]++;
    18             count++;
    19         }
    20     }
    21 }
    22 int panduan(int a[],int n){
    23     int flag=1;
    24     int i;
    25     for(i=0;i < n-1;i++){
    26         if(a[i]!=a[i+1]){
    27             flag=0;
    28             return flag;
    29         }
    30     }
    31     return flag;
    32 }
    33 int main(){
    34     int n,flag=0;
    35     int a[100];
    36     int i;
    37     scanf("%d",&n);
    38     for(i=0;i < n;i++){
    39         scanf("%d",&a[i]);
    40     }
    41     while(flag==0){
    42         fentangguo(a,n);
    43         jiatangguo(a,n);
    44         flag=panduan(a,n);
    45     }
    46     printf("%d
    ",count);
    47     return 0;
    48 } 
  • 相关阅读:
    Jquery超简单遮罩层实现代码
    java中Token验证
    基于Token的WEB后台认证机制
    jsp页面数据回显(select下拉选择框)
    ckeditor 绑定事件
    ckeditor 触发事件(案例)
    Linux sed命令学习
    字符串 全排列生成问题
    算法导论第九章 第K顺序统计量
    字符串相似度算法 递归与动态规划求解分析
  • 原文地址:https://www.cnblogs.com/AGoodDay/p/10577010.html
Copyright © 2011-2022 走看看