long long int f[30001],g[30001];
索引值不為0-->30000+1
if g[ ]設int會溢位 g[30000]==4500450010000 (等差級數是數學中的魔鬼!!)
f[1]=g[1]=1; 第一天的值
for(int i=2;i<=30000;i++){ 從第二天加起
f[i]=i+f[i-1];
g[i]=f[i]+g[i-1];
}
找出30000天中每天的值
如:
n | f[n] | g[n] |
1 | f[1]==1 | g[1]==1 |
2 | f[2]==3 | g[2]==4 |
3 | f[3]==6 | g[3]==10 |
4 | f[4]==10 | g[4]==20 |
5 | f[5]==15 | g[5]==35 |
6 | f[6]==21 | g[6]==56 |
7 | f[7]==28 | g[7]==84 |
8 | f[8]==36 | g[8]==120 |
while(cin>>n)
cout<<f[n]<<" "<<g[n]<<endl;
再根據輸入做輸出
所以就是使用暴力美學的解法