close
內容
費曼 (Richard Phillips Feynman) 是一個有名的美國物理學家及諾貝爾物理獎得主。他主攻理論物理並倡導量子電腦。他曾訪問南美十個月,在那兒演講並享受熱帶生活。他的成名作「別鬧了,費曼先生」及「你管別人怎麼想」中也包含了他在赤道以南的經歷。
他一生的嗜好是解及建立謎題、鎖、及密碼。最近,曾在1949年接待費曼的一位南美老農夫找到一些據信屬於這位年輕物理學家的筆記。在這些有關介子及電磁學的筆記中,夾有一張餐巾紙,上寫有個簡單的謎題:「在一個 N ×N 的方格中含有幾個不同的正方形?」
下面重現了該餐巾紙上的圖,顯示 N=2 時答案為 5。
輸入說明
輸入有若干筆測資,每筆一行,含有一個整數 N,代表方格的邊長 (1 ≤ N ≤ 100)。
輸入的結束以含有一個零的一行表示。
輸出說明
對於每筆測資,你的程式須輸出該筆測資一共包含幾個不同的正方形於一行。
範例輸入 #1
2 1 8 0
範例輸出 #1
5 1 204
C++
/* 若為邊長為 3的正方形: 邊長1正方形 3*3 個 邊長2正方形 2*2 個 邊長3正方形 1*1 個 ... 可知, 為邊長為 n的正方形 邊長1正方形 n*n 個 邊長2正方形 (n-1)*(n-1) 個 邊長3正方形 (n-2)*(n-2) 個 之後全部相加 */ #include <iostream> using namespace std; int main(){ int n; while(cin>>n){ if(n==0)break; int ans=0; for(int i=0;i<n;i++){ ans+=(n-i)*(n-i); } cout<<ans<<"\n"; } return 0; }
python
from sys import stdin for s in stdin: n=int(s) if n==0:break ans=0 for i in range(n): ans+=(n-i)*(n-i) print(ans)
文章標籤
全站熱搜
留言列表