#44278: 暴力硬拆...延平人


yp11351279@yphs.tp.edu.tw (711-44韓沐捷)

學校 : 臺北市私立延平高級中學
編號 : 276832
來源 : [203.72.178.1]
最後登入時間 :
2024-12-05 17:48:22
a216. 數數愛明明 | From: [203.72.178.1] | 發表日期 : 2024-11-19 17:36

可以設兩個陣列:

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天中每天的值

如:

nf[n]g[n]
1f[1]==1g[1]==1
2f[2]==3g[2]==4
3f[3]==6g[3]==10
4f[4]==10g[4]==20
5f[5]==15g[5]==35
6f[6]==21g[6]==56
7f[7]==28g[7]==84
8f[8]==36g[8]==120

while(cin>>n)
        cout<<f[n]<<" "<<g[n]<<endl;

再根據輸入做輸出

 

所以就是使用暴力美學的解法

 
ZeroJudge Forum