|
推荐
楼主 |
发表于 2018-5-4 19:17:23
|
只看该作者
另外一个做法。N是小于x的最大整数,那么意思就是说 while(N<x)就做,按照这个条件,我们来拼出程序
while (N<x)
{
循环体里面应该有三句话,因为有三个变化的,s,n,i 这个经验很重要!!!
}
把 n=n+i,放在最后面,先加,再判断,然后求和 (注意这个顺序!!!)
写成
while (N<x)
{s=s+N;l
N=N+i;
i++;
}
再拼凑初始值
显然 s=0;
N=1l;
i=1;
所以最后答案- #include <iostream>
- using namespace std;
- int s,N,i,x;
- int main()
- {
- cin>>x;
- s=0;N=1;i=1;
- while (N<x)
- {
- s=s+N;
- N=N+i;
- i++;
- }
- cout<<s;
- return 0;
- }
复制代码
|
|