P1147 連續自然數和

2021-09-07 11:09:26 字數 940 閱讀 5563

對乙個給定的自然數m,求出所有的連續的自然數段,這些連續的自然數段中的全部數之和為m。

例子:1998+1999+2000+2001+2002 = 10000,所以從1998到2002的乙個自然數段為m=10000的乙個解。

輸入格式:

包含乙個整數的單獨一行給出m的值(10 <= m <= 2,000,000)。

輸出格式:

每行兩個自然數,給出乙個滿足條件的連續自然數段中的第乙個數和最後乙個數,兩數之間用乙個空格隔開,所有輸出行的第乙個按從小到大的公升序排列,對於給定的輸入資料,保證至少有乙個解。

輸入樣例#1:

combo.in

10000

輸出樣例#1:

combo.out

18 142

297 328

388 412

1998 2002

其實這道題數學二分什麼的都完全沒必要

做乙個字首和

然後暴力列舉就可以

注意要加剪紙否則超時

永遠記住:

暴力出奇蹟!!!!

1 #include2 #include3 #include4 #include5

using

namespace

std;

6const

int maxn=10000001;7

inta[maxn];

8int ans=0;9

intmain()

1023

if(a[j]-a[i]>n)break;24

}25}26

return0;

27 }

P1147 連續自然數和

對乙個給定的自然數m,求出所有的連續的自然數段,這些連續的自然數段中的全部數之和為m。例子 1998 1999 2000 2001 2002 10000,所以從1998到2002的乙個自然數段為m 10000的乙個解。輸入格式 包含乙個整數的單獨一行給出m的值 10 m 2,000,000 輸出格式...

P1147 連續自然數和

對乙個給定的自然數mm,求出所有的連續的自然數段,這些連續的自然數段中的全部數之和為mm。例子 1998 1999 2000 2001 2002 100001998 1999 2000 2001 2002 10000,所以從19981998到20022002的乙個自然數段為m 10000m 1000...

P1147 連續自然數和

題目描述 對乙個給定的自然數m,求出所有的連續的自然數段,這些連續的自然數段中的全部數之和為m。例子 1998 1999 2000 2001 2002 10000,所以從1998到2002的乙個自然數段為m 10000的乙個解。輸入格式 包含乙個整數的單獨一行給出m的值 10 m 2,000,000...