测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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. 按顺序输出三个计数器的值,以空格分隔。

上一题 下一题