倒數第三篇了!
GO!GO!GO!
今天一樣來練習CPE曾經出過的一題題目
A同學喜歡奇數。某一天,她開始在每行寫出奇數,且每行的數字個數也是以奇數方式增加,也就是說他在第一行會寫出1個奇數,第二行會寫出3個奇數,第三行則是5個奇數,以此類推,每行數字會接續前一行並不會從頭開始。
範例如下:
1
3 5 7
9 11 13 15 17
19 21 23 25 27 29 31
從範例中你可以看出該列最後3個數字的和嗎?
給你一個數字N,代表某一列有N個奇數數字,你的任務是把該列最後三個數加起來。
.
.
.
.
.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x;
int l,m,a;
while(scanf("%d",&x)!=EOF)
{
l = (x+1)/2;
m = ((l*l)*2)-1-2;
a = m*3;
printf("%d\n\n",a);
}
}
N=3時,在第2列,此時已經寫出了4個奇數,且第4個奇數為7
N=5時,在第3列,此時已經寫出了9個奇數,且第9個奇數為17
N=7時,在第4列,此時已經寫出了16個奇數,且第16個奇數為31
知道每行中的最後一個數字後,可以輕鬆地算出最後三個數相加,只要將會後一個數字減2得到最後三個數的中間值,再利用此數字乘3就會是最後三個數的加總
Day28就到這啦BYE~