最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Python計算質(zhì)數(shù)與完全數(shù)的方法實例

 更新時間:2021年03月08日 09:01:14   作者:手機電腦789  
這篇文章主要介紹了利用Python計算質(zhì)數(shù)與完全數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1.1 計算質(zhì)數(shù)(判斷輸入)

首先我們要明確質(zhì)數(shù)(素數(shù))的含義:

所謂質(zhì)數(shù)(素數(shù)),是它的因數(shù)只有1與它本身,例如2。

所以我們可以這樣判斷一個數(shù)是否為質(zhì)數(shù):

# -*- coding: UTF-8 -*-
# 用戶輸入數(shù)字
num = int(input("請輸入一個數(shù)字: "))
# 質(zhì)數(shù)大于 1
if num > 1:
  # 查看因子
  for i in range(2,num):
    if (num % i) == 0:
      print(num,"不是質(zhì)數(shù)")
      print(i,"乘",num//i,"是",num)
      break
  else:
    print(num,"是質(zhì)數(shù)")
# 如果輸入的數(shù)字小于或等于 1,不是質(zhì)數(shù)
else:
  print(num,"不是質(zhì)數(shù)")

這樣子是不是很簡單?

1.2 計算質(zhì)數(shù)(質(zhì)數(shù)表之print)

那么有可能有人要問了:我要做質(zhì)數(shù)表怎么辦呢?

其實就是上面的程序在加一個for循環(huán)就好了:

# -*- coding: UTF-8 -*-
def prime(num):
  for i in range(2,num):
   if (num % i) == 0:
     break
  else:
   print(num,"是質(zhì)數(shù)")
for i in range(2,100002):
  prime(i)
input()

1.3 計算質(zhì)數(shù)(質(zhì)數(shù)表之寫入文件)

為了便于以后查看,我們把它寫入到文件中:

# -*- coding: UTF-8 -*-
def prime(num):
  a = open('prime.txt','a')
  for i in range(2,num):
   if (num % i) == 0:
     break
  else:
   print(num,"是質(zhì)數(shù)")
   a.write(str(num)+"是質(zhì)數(shù)"+'\n')
for i in range(2,100002):
  prime(i)
input()

2.1 計算完全數(shù)(完全數(shù)表之寫入文件)

所謂完全數(shù),就是一個數(shù)的因子之和(不包括它本身)等于它,例如6。

要用Python計算完全數(shù),還要了解梅森素數(shù)。即

如果這個數(shù)為素數(shù),則稱之為 “梅森素數(shù)”)。

這是一個梅森素數(shù)列表:

lst = [2,3,5,7,13,17,19,31,61,89,107,127,521,607,1279,2203,2281,3217,4253,4423,9689,9941,11213,19937,21701,23209,44497,86243,110503,132049,216091,756839,859433,1257787,1398269,2976221,3021377,6972593,13466917,20996011,24036583,25964951,30402457,32582657,37156667,42643801,43112609,57885161,74207281,77232917,82589933]

完全數(shù)公式:

其中

為梅森素數(shù)。

尋找完全數(shù)程序:

import time
c = 0
lst = [2,3,5,7,13,17,19,31,61,89,107,127,521,607,1279,2203,2281,3217,4253,4423,9689,9941,11213,19937,21701,23209,44497,86243,110503,132049,216091,756839,859433,1257787,1398269,2976221,3021377,6972593,13466917,20996011,24036583,25964951,30402457,32582657,37156667,42643801,43112609,57885161,74207281,77232917,82589933]
xx = open('perfect.docx','w')
time_start=time.time()
for i in lst:
  c += 1
  a = (2**(i-1))*(2**i-1)
  xx.write(str(c)+':'+str(a)+'\n')
  time_end=time.time()
  
  print(str(c)+' complete numbers have been calculated, it takes %s seconds.'%str(time_end-time_start)+'This m is '+str(i)+',it has '+str(len(str(a)))+' digits.')
input()

結(jié)束語

到此這篇關(guān)于利用Python計算質(zhì)數(shù)與完全數(shù)的文章就介紹到這了,更多相關(guān)Python計算質(zhì)數(shù)與完全數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python不要再使用while死循環(huán),定時器代替效果更佳

    Python不要再使用while死循環(huán),定時器代替效果更佳

    在python開發(fā)的過程中,經(jīng)常見到小伙伴直接使用while True的死循環(huán)+sleep的方式來保存程序的一直運行。這種方式雖然能達(dá)到效果,但是說不定什么時候就直接崩潰了,其實使用定時器效果也不錯哦
    2023-03-03
  • wxpython 學(xué)習(xí)筆記 第一天

    wxpython 學(xué)習(xí)筆記 第一天

    wxPython是Python編程語言的一個GUI工具箱。他使得Python程序員能夠輕松的創(chuàng)建具有健壯、功能強大的圖形用戶界面的程序。
    2009-02-02
  • Django獲取該數(shù)據(jù)的上一條和下一條方法

    Django獲取該數(shù)據(jù)的上一條和下一條方法

    今天小編就為大家分享一篇Django獲取該數(shù)據(jù)的上一條和下一條方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • django用戶注冊、登錄、注銷和用戶擴展的示例

    django用戶注冊、登錄、注銷和用戶擴展的示例

    本篇文章主要介紹了django用戶注冊、登錄、注銷和用戶擴展的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Python封裝原理與實現(xiàn)方法詳解

    Python封裝原理與實現(xiàn)方法詳解

    這篇文章主要介紹了Python封裝原理與實現(xiàn)方法,結(jié)合實例形式較為詳細(xì)的分析了Python封裝的概念、原理、實現(xiàn)方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2018-08-08
  • Python實現(xiàn)的遠(yuǎn)程文件自動打包并下載功能示例

    Python實現(xiàn)的遠(yuǎn)程文件自動打包并下載功能示例

    這篇文章主要介紹了Python實現(xiàn)的遠(yuǎn)程文件自動打包并下載功能,結(jié)合實例形式分析了Python使用spawn()方法執(zhí)行ssh、scp 命令實現(xiàn)遠(yuǎn)程文件的相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • Python中的heapq模塊解析

    Python中的heapq模塊解析

    這篇文章主要介紹了Python中的heapq模塊解析,heapq模塊是Python標(biāo)準(zhǔn)庫中的一個模塊,用于實現(xiàn)堆隊列(heapq)數(shù)據(jù)結(jié)構(gòu),它提供了一種方便的方式來實現(xiàn)堆排序等算法,需要的朋友可以參考下
    2023-09-09
  • python3使用diagrams繪制架構(gòu)圖的步驟

    python3使用diagrams繪制架構(gòu)圖的步驟

    這篇文章主要介紹了python3使用diagrams生成架構(gòu)圖的步驟,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • Python將GIF動圖轉(zhuǎn)換為Base64編碼字符串的步驟詳解

    Python將GIF動圖轉(zhuǎn)換為Base64編碼字符串的步驟詳解

    在Web開發(fā)中,有時需要將圖像文件(如GIF動圖)轉(zhuǎn)換為Base64編碼的字符串,以便在HTML或CSS中直接嵌入圖像數(shù)據(jù),本文給大家就介紹了一個簡單的教程,教你如何使用Python將GIF動圖轉(zhuǎn)換為Base64編碼的字符串,需要的朋友可以參考下
    2025-02-02
  • python雙端隊列原理、實現(xiàn)與使用方法分析

    python雙端隊列原理、實現(xiàn)與使用方法分析

    這篇文章主要介紹了python雙端隊列原理、實現(xiàn)與使用方法,結(jié)合實例形式分析了Python雙端隊列的概念、原理、定義及使用方法,需要的朋友可以參考下
    2019-11-11

最新評論

巫溪县| 蓝田县| 靖边县| 玛多县| 平潭县| 长海县| 泾川县| 察雅县| 昂仁县| 恩平市| 恩平市| 南华县| 石棉县| 日喀则市| 天柱县| 兴山县| 武清区| 淮滨县| 招远市| 雅江县| 隆德县| 汶川县| 崇州市| 乡城县| 正阳县| 将乐县| 乌鲁木齐市| 东海县| 奉贤区| 区。| 祥云县| 莱西市| 新闻| 璧山县| 徐州市| 眉山市| 邛崃市| 乌兰察布市| 岐山县| 四平市| 渑池县|