洛谷 P1147 连续自然数和
洛谷 P1147 连续自然数和
看到dalao们的各种高深方法,本蒟蒻一个都没看懂。。。 于是,我来发一篇蒟蒻友好型的简单题解
#include<bits/stdc++.h> using namespace std; int n,sum=0,ans=0; int main() { cin>>n; int j=1; //j为前端点 for(int i=1;i<n;i++)//枚举1~n-1加入sum,n本身不属于答案所以不再枚举 { sum+=i;//sum不断增加 if(sum==n) cout<<j<<" "<<i<<endl;//满足答案则输出 while(sum>n) sum-=j,j+=1; //sum大于n则sum不断减j直到sum<=n if(sum==n) cout<<j<<" "<<i<<endl;//sum可能等于n所以再次判断 } return 0; }