程式3 完全平方數

2021-07-31 20:15:12 字數 867 閱讀 1303

題目:乙個整數,它加上100後是乙個完全平方數,再加上168又是乙個完全平方數,請問該數是多少?

程式分析:

假設該數為 x。

1、則:x + 100 = n2, x + 100 + 168 = m2

2、計算等式:m2 - n2 = (m + n)(m - n) = 168

3、設定: m + n = i,m - n = j,i * j =168,i 和 j 至少乙個是偶數

4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要麼都是偶數,要麼都是奇數。

5、從 3 和 4 推導可知道,i 與 j 均是大於等於 2 的偶數。

6、由於 i * j = 168, j>=2,則 1 < i < 168 / 2 + 1。

7、接下來將 i 的所有數字迴圈計算即可。

def perfect_square():

for i in range(2,85):

if 168 % i ==0:

j = 168/i

if i>j and j%2==0 and (i+j)%2==0 and (i-j)%2==0:

m = (i+j)/2

n = (i-j)/2

x = n*n -100

print(i,j,m,n,x)

執行:

>>> perfect_square()

14 12.0 13.0 1.0 -99.0

28 6.0 17.0 11.0 21.0

42 4.0 23.0 19.0 261.0

84 2.0 43.0 41.0 1581.0

完全平方數

完全平方數 time limit 10000ms memory limit 65536k total submit 44 accepted 42 case time limit 1000ms description 由1 9九個數字組成的全排列可以被看作是乙個九位數,程式設計求出這些九位數中第n個完...

完全平方數

coding utf8 python3 題目 完全平方數 乙個整數,它加上100和加上268後都是乙個完全平方數 求該數是多少 數字 1,1000 中,符合條件的數 python sqrt num.py b 1 e 1000 import sys,getopt import math defint ...

完全平方數

程式設計判斷乙個非負整數是否為完全平方數。乙個非負整數n是完全平方數當且僅當存在非負整數m,使得n m2n m 2n m2。要求如下 輸出1表示是完全平方數,輸出0表示不是。比如,輸入非負整數0時,應輸出1。不能有其他多餘的cin和cout語句。注 0是完全平方數 include using nam...