iT邦幫忙

2021 iThome 鐵人賽

DAY 28
0
自我挑戰組

C語言救救我系列 第 28

Day28-"練習-3"

  • 分享至 

  • xImage
  •  

倒數第三篇了!
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就會是最後三個數的加總

/images/emoticon/emoticon29.gif

Day28就到這啦BYE~


上一篇
Day27-"練習-2"
下一篇
Day29-"練習-4"
系列文
C語言救救我30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言