對乙個給定的自然數m
mm,求出所有的連續的自然數段,這些連續的自然數段中的全部數之和為mmm
樣例輸入
10000
樣例輸出18 142
297 328
388 412
1998 2002
原本我是這樣寫的
#include
#include
using
namespace std;
int n,k;
intread()
//快讀
while
(ch>=
'0'&&ch<=
'9')
return x*flag;
}void
write
(int x)
//快輸
if(x>9)
write
(x/10);
putchar
(x%10+48
);return;}
intmain()
}}fclose
(stdin);
fclose
(stdout);
return0;
}
但是,最大的據t了…
20000000
為了這幾秒我加了很多東西
register
快讀快輸
for語句減次數
最後還是放棄了,唉~
高斯速算
( a1
+an)
∗n/2
=m
(a_1+a_n)*n/2=m
(a1+a
n)∗
n/2=
m(首項+末項)*項數/2=等差數列的和
列舉首項,就可以求出末項了
#include
#include
#include
using
namespace std;
int n;
intmain()
fclose
(stdin);
fclose
(stdout);
return0;
}
連續自然數和
題目描述 對乙個給定的自然數m,求出所有的連續的自然數段,這些連續的自然數段中的全部數之和為m。例子 1998 1999 2000 2001 2002 10000,所以從1998到2002的乙個自然數段為m 10000的乙個解。輸入輸出格式 輸入格式 包含乙個整數的單獨一行給出m的值 10 m 2,...
連續自然數和
題目描述 描述 description 對乙個給定的自然數m,求出所有的連續的自然數段 連續個數大於1 這些連續的自然數段中的全部數之和為m。例子 1998 1999 2000 2001 2002 10000,所以從1998到2002的乙個自然數段為m 10000的乙個解。輸入輸入格式 input ...
連續自然數平方和
22.連續自然數平方和 描述 提交自定義測試 題目描述 給你乙個數x,詢問有多少種連續自然數的平方和等於這個數,按照起始自然數由小到大的順序,輸出所有可能。輸入描述 輸入有多組,每組一行,乙個數x 輸出描述 對於每組資料,輸出多行 第一行,乙個數表示有多少種可能 以下每行輸出一種 第乙個數a是連續多...