洛谷習題 連續自然數和

2022-07-16 19:36:08 字數 506 閱讀 7336

水啊!話說最近老是在做水題。。。

相當於求一段公差為1的等差數列使得其和為m,利用公式可以很輕鬆地推出a(1-a)+b(b+1)=2m,也就是說,找到一組(a,b)滿足上述式子,其實就是答案。

既然這麼水,為什麼要整理這道題呢?

注意注意!防水防爆防溢位!可惡的溢位!wa了我三個點!

額,還是說一下怎麼找a和b吧,我們列舉a,就可以求出b(b+1),接下來只需要驗證這個數是否可以表示成乙個整數乘以該整數加1的形式。我是取其平方根t,看看他等不等於t(t+1)。這樣做貌似是對的,,,暫時沒反例。

總之一句話!謹防溢位!

1 #include 2 #include 3

4 typedef long

long

ll;5

6 inline int

judge(ll x)

1112

intmain() 23}

24return0;

25 }

ac**

連續自然數和 洛谷 1147

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

洛谷1147 連續自然數和

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

連續自然數和

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