Python練習 根據條件求出乙個數的值

2021-10-08 05:59:05 字數 1956 閱讀 8607

python練習:求出乙個數的值

寫在最後的話:

這裡是一段防爬蟲文字,請讀者忽略。

本文原創首發於csdn,作者idys

部落格首頁:

0開始列舉這個數,不符合就跳過,符合就輸出結果,退出

用該數字加上100,然後,將平方數枚舉,看該數字加上100後是否等於某個數的平方

如果該數字加上100後等於某個數字的平方,那麼再將該數字加上168,看起是否等於另外乙個數的平方

i =

1#假設該數從1開始

count=

0#判斷該數是否找到,如果找到則退出迴圈

while

(i):

j=i+

100 k=

1while

(k**

2<= j)

:if k**

2== j:

#判斷有沒有平方數等於該數字加上100

b = j+

168 k+=

1while

(k**

2<= b)

:if k**

2== b:

#判斷有沒有平方數等於該數加100後又繼續加168

print

(i) count+=

1#如果該數字找到則加一

k+=1else

: k+=

1else

: k+=1if

(count ==1)

:#這個找到則退出迴圈

break

else

: i+=

1#沒有找到,則數字加1繼續找

21

假設該數字為x,則:x + 100 = n2,x + 100 + 168 = m2計算等式:m2 - n2 = (m + n)(m - n) = 168設定:m + n = im - n = ji * j =168ij至少乙個是偶數

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

從 3 和 4 推導可知道,ij均是大於等於 2 的偶數。

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

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

for i in

range(1

,85):

if168

% i ==0:

#判斷 i 是否為偶數,不是偶數則直接跳過

j =168/ i;

#得到 j

if i > j and

(i + j)%2

==0and(i - j)%2

==0:#判斷i和j是否符合該表示式

m =(i + j)/2

n =(i - j)/2

x = n * n -

100print

(x)

-99.0

21.0

261.0

1581.0

python 根據位址反求出經緯度

方法一 import requst import json def getlnglat address ak f30c9d52b003c2b3ac089e2672e18baf url ak,address data requests.get url contest data.json print s...

Python根據多個條件進行排序

小白一名,最近在做ccfcsp的題目,做到201503 02數字排序,個人認為這個題目就是屬於多條件排序,當然題目裡面說的也很清楚,先按照次數進行降序,次數相同的話,就按照公升序進行排。在csdn裡查詢幾個關於python多條件排序,說的好像都沒毛病,但是配的 自己執行,就會出現問題,得不出博主的結...

Python的If條件判斷練習

練習題來自於 python程式設計 從入門到實踐 5.1假設在遊戲中剛射殺了乙個外星人,請建立乙個名為alien color的變數,並將其設定 為 green yellow 或 red aline color green yellow red if green in aline color prin...