日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python-100 练习题 03 完全平方数

發布時間:2023/12/10 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python-100 练习题 03 完全平方数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文大約 1600 字,閱讀大約需要 8分鐘

練習題 3 的網址:

http://www.runoob.com/python/python-exercise-example3.html


Example-3 完全平方數

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

思路

首先我們可以假設這個整數是x,那么根據題目有:

x+100 = m**2 (1) x+100+168 = n**2 (2)

m, n都是正整數,接著就是先根據求解一元二次方程組的做法,可以得到

n**2 - n**2 = 168 (3)

利用平方差分解上式,有(n-m)(n+m)=168,這個時候,我們再做一個變換:

m + n = i (4) n - m = j (5) i * j = 168 (6)

這個變換,其實只是再設置兩個變量i,j,并且根據它們兩者相乘是 168,這是一個偶數,由于兩個數相乘是偶數,有兩種情況,兩者都是偶數,或者一個偶數和一個奇數,然后再求解(4)和(5),有:

n = (i + j) / 2 (7) m = (i - j) / 2 (8)

根據(7)式子,i+j必須是偶數,這樣才可以被 2 整除,得到正整數n,這種情況下,結合(4)和(5),可以推導得到i,j都是大于等于 2 的偶數,又根據(6),可以推導到i,j的范圍是:

1 < j < i < 85

這里是假設了i > j的情況,因為不存在一個偶數的平方就是168,所以假設i>j。

代碼實現

第一種實現:

def perfect_square():for i in range(1, 85):if 168 % i == 0:j = 168 / i;if i > j and (i + j) % 2 == 0 and (i - j) % 2 == 0:m = (i + j) / 2n = (i - j) / 2x = n * n - 100print(x)

第二種實現是網上大神的解法,參考文章:

  • Python練習題 003:完全平方數
  • ZH奶酪:編程語言入門經典100例【Python版】

這種實現其實就是在分析過程中,只推導到m,n部分,即(3)式的部分,然后直接根據這個公式和范圍來求解,這個時候m,n的范圍就是(1,169)。

這是一個應用列表推導式的解法:

def perfect_square2():'''列表推導式:return:'''[print(m**2-100, end=',') for m in range(1, 169) for n in range(1, 169) if (n**2 - m**2) == 168]def perfect_square2_loop():'''for 循環形式:return:'''for m in range(1, 169):for n in range(1, 169):if (n ** 2 - m ** 2) == 168:print(m ** 2 - 100, end=',')

輸出結果都是:

-99,21,261,1581,

源代碼在:

https://github.com/ccc013/CodesNotes/blob/master/Python_100_examples/example3.py

或者點擊原文,也可以查看源代碼。


歡迎關注我的微信公眾號–機器學習與計算機視覺,或者掃描下方的二維碼,大家一起交流,學習和進步!

往期精彩推薦

Python-100 練習系列
  • Python-100 | 練習題 01 & 列表推導式
  • Python-100 練習題 02
學習筆記
  • 機器學習入門系列(1)–機器學習概覽
  • [GAN學習系列] 初識GAN
  • [GAN學習系列2] GAN的起源
  • [GAN學習系列3]采用深度學習和 TensorFlow 實現圖片修復(上)
數學學習筆記
  • 程序員的數學筆記1–進制轉換
  • 程序員的數學筆記2–余數
  • 程序員的數學筆記3–迭代法
Github項目 & 資源教程推薦
  • [Github 項目推薦] 一個更好閱讀和查找論文的網站
  • [資源分享] TensorFlow 官方中文版教程來了
  • 必讀的AI和深度學習博客
  • [教程]一份簡單易懂的 TensorFlow 教程
  • [資源]推薦一些Python書籍和教程,入門和進階的都有!

總結

以上是生活随笔為你收集整理的Python-100 练习题 03 完全平方数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。