P1147 連續自然數和

2021-10-03 20:12:44 字數 742 閱讀 7318

題目描述

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

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

輸入格式

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

輸出格式

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

輸入輸出樣例

輸入 #1 複製

10000

輸出 #1 複製

18 142

297 328

388 412

1998 2002

用字首和來做,字首和 字首和 字首和

關於字首和的使用,有問題的可以諮詢這篇部落格

#include

using

namespace std;

#define n 2000005

long

long a[n]

;int

main()

else

if(a[i]

- a[j]

> n)

//若》n,則break;

break;}

}return0;

}

P1147 連續自然數和

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

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...