题目描述
算法设计+题目分析
分析题目:
1、建立一个统计量total,初试为0;
2、每次有新的蛋糕重量读入,就加到total里,一旦total大于等于k的时候,就清零total,人数+1,继续读入新的蛋糕重量;
3、循环2至结束;
4、如果结束的时候total里还有剩余的蛋糕重量,就把它们再分配给一个人,人数+1。
注意点+记录点
无
代码(100分)
环境
Visual C++6.0
#include <stdio.h>
int main(){
int n, k;
scanf("%d %d", &n, &k);
int num_person=0;//分蛋糕的人数
int weight=0;//每次读入的蛋糕重量
int total=0;//统计量,判断是否大于k用的
for (int i=0; i<n; i++){
scanf("%d", &weight);
total+=weight;
if (total>=k){
total=0;//清零统计量
num_person++;
}
}
if (total>0) num_person++;//如果统计量里还有剩余,说明还可以再分给一个人呢
printf("%d", num_person);
return 0;
}
感谢链接
无