某個數如果是另一個整數的完全平方,那麼我們就稱這個數為完全平方數,也叫做平方數。比如:0,1,4,9,16,25,36等。 我們的任務是找到形如aabb的這樣的完全平方數 (即前兩位相等,後兩位也相等)。
[分析]
算法一: 用0~9之間的數字組合出aabb這樣的數字,再對其進行開方,平方運算,從而驗證aabb是否為完全平方數。
算法二:我們對1~100之內的數進行平方運算得到10000以內的完全平方數,再對其進行拆解,找到形如aabb的數
運行結果如下圖:
代碼如下:
# 算法一
for a in range(1,10):
for b in range(0,10):
aabb = a*1100 + b*11 # 不一定是平方數,但裡面有平方數
c = int(aabb**0.5 + 0.5) # 驗證。對aabb進行開方運算,並進行四捨五入取整
if c**2==aabb:
print("完全平方數{}, 開方後得到 {}".format(aabb, c))
print("{1} x {1} = {0}".format(aabb,c) )
第二種算法請大家自行設計,相信你一定可以想到辦法.
閱讀更多 酷叮貓少兒編程 的文章