【題解】d096. 00913 - Joana and the Odd Numbers

【題解】d096. 00913 - Joana and the Odd Numbers

鯊魚Y.Y Lv2

d096. 00913 - Joana and the Odd Numbers

題解:
🚨 UVa一定要用long long int否則會TLE🚨
這題其實最難的就是數學問題,你必須找出其規律才能寫出這個題目。
題目所給予的n是同一列有多少個奇數,此時奇數有一種特性就是當使用時可以表示這些奇數是在第幾列。

ex:我設定n=3 則使用得知這三個奇數位在第二列。之後我們可以觀察期規律如下
N = 3 時,在第 2 列,此時已經寫了 4 個奇數,且第 4 個奇數為 7 ( 此數亦為該列最後一個數字 )
N = 5 時,在第 3 列,此時已經寫了 9 個奇數,且第 9 個奇數為 17
N = 7 時,在第 4 列,此時已經寫了 16 個奇數,且第 16 個奇數為 31

所以我們可以使用來表示到了第列時總共有多少個奇數。再來我們需要算出此列末三項的總和所以我們可以在觀察到其實,之後再減二可以得到等差中項此時再就是末三項的總和了。

C++解法

1
2
3
4
5
6
7
8
9
10
#include<iostream>
using namespace std;
int main(){
long long int n,sum;
while (cin >> n)
{
sum = ((3*n*n)+(6*n) - 15 ) / 2
cout << sum << endl;
}
}

Python解法

1
2
3
4
5
6
7
8
9
10
while(True):
try:
n=str(input())
if(n=="EOF"):
T=False
else:
sum = ((3*int(n)*int(n))+(6*int(n)) - 15 ) // 2
print(sum)
except:
break
範例輸入範例輸出
315
545
787
  • 標題: 【題解】d096. 00913 - Joana and the Odd Numbers
  • 作者: 鯊魚Y.Y
  • 撰寫于 : 2024-04-27 00:06:06
  • 更新于 : 2024-08-21 11:36:37
  • 連結: https://redefine.ohevan.com/post/Numbers/
  • 版權宣告: 本作品采用 CC BY-NC-SA 4.0 进行许可。
留言
目錄
【題解】d096. 00913 - Joana and the Odd Numbers