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 = i
,m - n = j
,i * j =168
,i
和j
至少乙個是偶數
可得:m = (i + j) / 2
,n = (i - j) / 2
,i
和j
要麼都是偶數,要麼都是奇數。
從 3 和 4 推導可知道,i
與j
均是大於等於 2 的偶數。
由於i * j = 168
,j>=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...