1 #題目:一個整數,它加上100后是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?
代碼:2 i = 0
3 j = 0
編程語言physon?4 while (i >= 0):
5 m = i*i
6 while (j*j <= m + 168):
7 if ((m + 168) == j*j):
python編程入門,8 print('這個整數是:%d'%(i-100))
9 i = -2
10 break
11 j += 1
python編程300例。12 i += 1
13
運行結果:[root@HK code_100]# python code_3.py
這個整數是:-99
計算機語言python。[root@HK code_100]#
代碼解釋:這個題目的代碼不多,但是邏輯性較強,做這種題我總結的是先用數學的方式計算出來,
然后用代碼的形式表示出數學的計算過程
解題思路是:
python4?1)從i(i=0)開始每個數字都算出它的完全平方數m
2)(m+168)如果也是一個完全平方數,那么這個數字就是(i-100)
2 i = 0
3 j = 0
python語言編程?4 while (i >= 0): #完全平方數是大于0的,這個條件原則上是一直成立并且執行的
5 m = i*i # 從0開始(i=0)計算出i的完全平方數為m
6 while (j*j <= m + 168): # while循環,條件為j的完全平方數小于或者等于(m+168),因為j是遞增的,完全平方數也是遞增,如果j*j > (m_168),再循環下去沒有意義
7 if ((m + 168) == j*j): # 在循環中,如果匹配到j*j==(m+168),說明(m+168)是j的完全平方數,那么題目的兩個條件就都匹配了
python有什么用、8 print('這個整數是:%d'%(i-100)) 打印出這個數字為(i-100)
9 i = -2 # 一旦找到了這個要求的數字,那么就需要跳出整個程序,這里有兩層循環,break只能跳出內層的循環,
python中跳出多重循環的方式有很多,這里選取一種條件判斷,一旦符合要求之后,改變外層循環的判斷參數使之判斷為false,
這樣即可用break跳出內層循環,用這個判斷條件跳出外層循環,從而終止程序
python100例詳解、10 break # 跳出內層循環
11 j += 1 #j從0開始,step為1遞增,去匹配j*j==(m+168)
12 i += 1 j從0開始,step為1遞增,去獲取完全平方數
13
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态