原题
题目
题目描述
把一堆苹果分给(n)个小朋友,要使每个人都能拿到苹果,而且每个人拿到的苹果数都不同的话,这堆苹果至少应该有多少个?
输入格式
一个不大于(1000)的正整数(n),代表小朋友人数。
输出格式
一个整数,表示满足条件的最少苹果个数。
输入样例
8
输出样例
36
思路
既然题目要每个人拿的苹果都不同,且得最少,不妨从1开始枚举:
for(int i=1;i<=n;++i) s+=i;
展开得:1+2+3+……+n
。
这不就是等差数列吗。用公式(frac{n*(n+1)}{2})即可解决
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;//读入n
cout<<n*(n+1)/2;//套公式
return 0;
}