分苹果
一级知识点循环和取余操作练习题,逻辑上需要一点小学生的小思考。
luogu-B2072
题目要求
描述
把一堆苹果分给 个小朋友,要使每个人都能拿到苹果,而且每个人拿到的苹果数都不同的话,这堆苹果至少应该有多少个?
输入
一个不大于 的正整数 ,代表小朋友人数。
输出
输一个整数,表示满足条件的最少苹果个数。
输入样例-1
8
输出样例-1
36
题目分析
这道题目的逻辑比较简单:
- 每个小朋友都要拿到苹果,且数量不同
- 要求最少的苹果总数
- n个小朋友,意味着需要n个不同的正整数
- 为了使总数最少,应该从1开始连续取n个数
- 比如n=8时:
- 第1个小朋友分1个
- 第2个小朋友分2个
- 第3个小朋友分3个
- …以此类推
- 第8个小朋友分8个
- 所以最终结果就是1+2+3+…+n的和
因此,我们只需要循环累加1到n的所有整数即可得到答案。
{% include custom/custom-post-content-inner.html %}
示例代码
#include <iostream>
using namespace std;
int main() {
int n; // 定义变量n,用于存储输入的整数
cin >> n; // 从标准输入读取整数n
int ans = 0; // 初始化变量ans,用于存储累加的结果
for (int i = 1; i <= n; i++) { // 遍历从1到n的所有整数
ans += i; // 将当前整数累加到ans中
}
cout << ans; // 输出累加的结果
return 0; // 返回0,表示程序执行成功
}
{% include custom/custom-post-content-footer.md %}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
“luogu-”系列题目可在 洛谷题库 在线评测。
“bcqm-”系列题目可在 编程启蒙题库 在线评测。
GESP/CSP 认证学习微信公众号

Last updated on