
#C语言学习 #洛谷B2020 分糖果题目描述某个幼儿园里有555位小朋友编号依次为1,2,3,4,51,2,3,4,51,2,3,4,5他们按照自己的编号顺序围坐在一张圆桌旁。他们身上有若干糖果现在他们玩一个分糖果游戏。从111号小朋友开始将自己的糖果均分成333份如果有多余的糖果就自己立即吃掉自己留一份其余两份分给和他相邻的两个小朋友。接着2,3,4,52,3,4,52,3,4,5号小朋友也这样做。问一轮结束后每个小朋友手上分别有多少糖果。输入格式一行555个用空格隔开的int范围内的正整数分别是游戏开始时1,2,3,4,51,2,3,4,51,2,3,4,5号小朋友手里糖果的数量。输出格式222行第111行是用一个空格隔开的555个整数表示一轮游戏结束后1,2,3,4,51,2,3,4,51,2,3,4,5号小朋友手里糖果的数量。第222行是一个整数表示一轮游戏过程中吃掉的糖果的总数。输入输出样例输入8 9 10 11 12输出11 7 9 11 6 6想法解法一#include stdio.h int main() { int a[5]; int eat0; for (int i0;i5;scanf(%d,a[i])); for (int j0;j5;j) { a[(j4)%5]a[j]/3; a[(j1)%5]a[j]/3; eata[j]%3; a[j]/3; } for (int k0;k5;printf(%d ,a[k])); printf(\n%d\n,eat); }收获1.C语言取余转换为数学取模(a%bb)%b //通用无论范围2.圆形环绕排列相邻(ab1)%b (ab-1)%b3.数组快速遍历for (int k0;k5;printf(%d ,a[k]));