十一


私信TA

用户名:uq_78644605911

访问量:486

签 名:

等  级
排  名 24675
经  验 611
参赛次数 0
文章发表 10
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:
定义两个数组,一个存当前糖果数,另一个存糖果的一半
注意事项:

参考代码:

#include<stdio.h>

int main()

{

    int people_num,i=0,sum=0;

    scanf("%d",&people_num);

    int a[people_num];

    while(i<people_num){

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

        i++;

    }

    int b[people_num];

    int max=a[0];

    while(1){

        int k=0;

        for(i=0;i<people_num;i++){    //让糖果全为一半并存入数组

            a[i] /= 2;

            b[i] = a[i];

        }

        for(i=1;i<people_num;i++){   //从第二个人开始加前一个的一半

            a[i] += b[i-1];

        }

        a[0]+=b[i-1];     //第一个加最后一个的一半

        for(i=0;i<people_num;i++){    //判断是否为偶数

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

                a[i]++;

                sum++;

            }

        }

        for(i=1;i<people_num;i++){   //遍历看看是否都相等

            if(a[i]==a[0]){

                k++;

            }

        }

        if(k==people_num-1){

            break;

        }

    }

    printf("%d",sum);

    return 0;

}


 

0.0分

2 人评分

  评论区

  • «
  • »