這個問題墙基,相對來說是比較復(fù)雜的,我們需要首先來分析一下刷喜。
我們首先假設(shè)這個數(shù)為X残制,兩個平方數(shù)分別為n和m。
則大概的步驟如下所示:
1掖疮、我們可以得到一個公式初茶,也即:x + 100 = n*n, x + 100 + 168 = m*m。
2浊闪、計算等式:m2?- n2?= (m + n)(m - n) = 168
3恼布、設(shè)置: m + n = i螺戳,m - n = j,i * j =168折汞,i 和 j 至少一個是偶數(shù)倔幼,或者兩者均為偶數(shù)。
4字支、可得: m = (i + j) / 2凤藏, n = (i - j) / 2,i 和 j 要么都是偶數(shù)堕伪,要么都是奇數(shù)揖庄。
5、 3 和 4 推導(dǎo)可知道欠雌,i 與 j 均是大于等于 2 的偶數(shù)蹄梢。
6、由于 i * j = 168富俄, j>=2禁炒,則?1 < i < 168 / 2 + 1。
7霍比、接下來將 i 的所有數(shù)字循環(huán)計算即可幕袱。
附代碼圖:
代碼圖
其實(shí),我們可以看到悠瞬,代碼的解讀順序们豌,與實(shí)際分析問題的思路,呈現(xiàn)出對稱的一個思路浅妆,也就是望迎,我們需要將現(xiàn)實(shí)問題,逐步的進(jìn)行分析凌外,逐漸變成能夠讓計算機(jī)程序逐步運(yùn)行的思路去進(jìn)行解決辩尊。