经验值:2400
时间限制:1000毫秒
内存限制:128MB
题目描述 Description
小酷和小町是一对好朋友,他们两经常互相出题考研对方智力。老师给小酷和小町准备了一个智力大挑战。
挑战的题目是这样的:
老师给出一个自然数M(10≤M≤2000000),现在小酷和小町需要找出所有的连续自然数段,这些自然数段之和是M。
小酷和小町被难倒了,现在能够请你帮助他们解决这个问题吗?
输入描述 Input Description
包含一个整数的单独一行给出M的值(10≤M≤2,000,000)。
输出描述 Output Description
每行两个自然数,给出一个满足条件的连续自然数段中的第一个数和最后一个数,两数之间用一个空格隔开,所有输出行的第一个按从小到大的升序排列,对于给定的输入数据,保证至少有一个解。
样例输入 Sample Input
10000
样例输出 Sample Output
18 142 297 328 388 412 1998 2002
#include<iostream>
using namespace std;
int n;
long long sum;
int main(){
cin>>n;
for(int i=1;i<n;i++){
sum=i;
for(int j=i+1;j<=n;j++){
sum+=j;
if(sum==n){
cout<<i<<" "<<j<<endl;
break;
}
if(sum>n){
break;
}
}
}
return 0;
}
标签:Description,int,挑战,自然数,样例,智力,小酷,7386
From: https://blog.csdn.net/psc299/article/details/141685554