點擊藍字
關注我們
?
會酸的柚子
? ? ?Python愛好者
? ? ?搞機少年

七夕結束了~
酸柚也是被強塞了滿嘴的狗糧
在這樣充滿戀愛腐朽氣息的一天
酸柚也是馬不停蹄的在趕稿子
兄弟們,給我頂起來呀~
我們來看看今日的題目

可能很多小伙伴
對完全平方數這個概念有點生疏了
完全平方數
數學上,平方數,或稱完全平方數,是指可以寫成某個整數的平方的數,即其平方根為整數的數。
例如,9 = 3 × 3,它是一個平方數。
我們理解題目后,可以得到下面的方程

我們化簡到這一步,
很多小伙伴可能會不知所措
兩個未知數,一個方程,解不出呀
酸柚也是卡殼了一會兒,
真的就一會兒

我們再仔細看一遍題目
整數?整數,整數!
不知道小伙伴思路有沒有打通,
既然是整數,那我們化簡到平方差之后
其實可以對168進行因式分解,逐個篩選

這樣,我們就可以繼續運算下去了



以此類推……
注:168拆分的兩個數的順序可以換,
即可得到7*2種可能。
以上便是我們做題的思路,
我們整理一下主要步驟
? ? ?①設一個數,且為整數
? ? ?②該數加100等于某數的平方
? ? ?③該數加268等于另一個數的平方
? ? ?④如果同時滿足上面的條件,得出結果
根據此,我們可以寫出代碼


第一行
import用于導入第三方庫,一般會在代碼最開始導入接下來會用上的第三方庫
math是python里最常用到的數據運算庫,里面有許多運算的方法,不需要自己寫,可在導入該庫后直接調用。

第二行
取一個數i讓它在10000內進行接下來的步驟
第三行
int()可將括號內的數據轉換成整數。
math.sqrt()會將括號內的數據進行開平方
該行代碼在int()函數里嵌套math.sqrt()函數,最后將結果賦值給x


第四行
和第三行是一樣的
將計算的值賦給y
我的
第五行
if用于判斷
x**2,即x的平方(**)表示平方,(==)是進行判斷左右是否相等的意思
如果x的平方會等于i+100且y的平方等于i+268,說明該i便符合題意。
注:=是賦值符號,返回的是所賦的值
==是判斷符號,返回的只有True或False
第六行
打印出符合上述代碼的結果i
由此我們便完成了該題,
通過對i的范圍進行更改,
我們可以得出更大的符合題意的i
好了,這期的講解到此結束,
大家可以自己動手試試啦~



掃碼|關注我們
微信公眾號|柚子的code