码迷,mamicode.com
首页 > 其他好文 > 详细

分发糖果

时间:2014-11-16 10:36:09      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:io   os   sp   for   bs   amp   nbsp   程序   c   

一些学生围绕老是坐着,每人手里都有偶数个糖。现在老师吹一声哨子,所有同学同时将自己的一半糖果给他右边的同学,如果某个同学手里的糖果个数是奇数,则老师给他一个糖果,重复这个过程直到所有同学手中的糖果数一致。

写一个程序判断老师要吹多少下哨子,每人手中的糖果数才能一致,并给出结束后每人手里的糖果数。

程序:

#include<iostream>

#include<cstdio>

#include<cstring>

#include<string>

#include<cstdlib>

#include<cmath>

#include<algorithm>

using namespace std;

int a[100000],n,ans=0,sum=0,p,q;

bool eq(int k)

{

     int i=1;

     while(i<n&&a[i]==a[i+1])

     i++;

     if(i==n)

     return true;

     return false;

}

void check()

{

     while(!eq(n))

     {

         ans++;//{吹哨子数增加一次}

         q=a[n];

         for(int i=1;i<=n;i++)

         {

             p=a[i];

             a[i]=a[i]/2+q/2;

             q=p;

             if(a[i]%2!=0)

             sum++,a[i]++;

         }

     }//{如果是奇数,老师再给一个,并计数}

}     

    

int main()

{

    scanf("%d",&n);

    for(int i=1;i<=n;i++)

    {

    scanf("%d",&a[i]);

    sum=sum+a[i];

    }

    printf("%d %d",ans,sum/n);

    return 0;

}

 

分发糖果

标签:io   os   sp   for   bs   amp   nbsp   程序   c   

原文地址:http://www.cnblogs.com/a972290869/p/4101092.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!