A17103. 彝族火把节物资分配
填空题
中等
知识点
题目描述
彝族火把节物资分配
题目描述
彝族火把节需分发n份物资给村民,每份物资包含粮食、衣物、工具三类,编号1~n。编号为3的倍数的物资优先分给老人,编号为5的倍数的物资优先分给儿童,既是3又是5的倍数的物资优先分给孤寡老人。请编程统计各类物资数量。
输入格式输入一个整数n(10≤n≤100)。
输出格式输出三个整数,分别为孤寡老人物资数、老人物资数、儿童物资数,空格分隔(互不重叠统计)。
参考答案
#include <iostream>
using namespace std;
int main() {
int n, old_alone=0, old=0, child=0;
cin >> n;
for(int i=1; i<=n; i++){
if(i%15 == 0) old_alone++;
else if(i%3 == 0) old++;
else if(i%5 == 0) child++;
}
cout << old_alone << " " << old << " " << child;
return 0;
}答案解析
1. 读取输入整数n,表示物资总数。
2. 初始化三个计数器,分别用于孤寡老人、老人、儿童的物资统计。
3. 遍历编号从1到n的每个物资编号。
4. 判断当前编号是否同时为3和5的倍数,若是,则孤寡老人计数器加1。
5. 若不满足第4步条件,但编号是3的倍数,则老人计数器加1。
6. 若不满足第4步和第5步条件,但编号是5的倍数,则儿童计数器加1。
7. 按顺序输出三个计数器的值,以空格分隔。
上一题
下一题