婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 利用Python計算質數與完全數的方法實例

利用Python計算質數與完全數的方法實例

熱門標簽:北京外呼電銷機器人招商 汕頭電商外呼系統供應商 crm電銷機器人 鄭州智能外呼系統中心 南京crm外呼系統排名 電銷機器人 金倫通信 400電話 申請 條件 賓館能在百度地圖標注嗎 云南地圖標注

1.1 計算質數(判斷輸入)

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

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

所以我們可以這樣判斷一個數是否為質數:

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

這樣子是不是很簡單?

1.2 計算質數(質數表之print)

那么有可能有人要問了:我要做質數表怎么辦呢?

其實就是上面的程序在加一個for循環就好了:

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

1.3 計算質數(質數表之寫入文件)

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

# -*- 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,"是質數")
   a.write(str(num)+"是質數"+'\n')
for i in range(2,100002):
  prime(i)
input()

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

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

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

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

這是一個梅森素數列表:

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]

完全數公式:

其中

為梅森素數。

尋找完全數程序:

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()

結束語

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

您可能感興趣的文章:
  • 使用Python判斷質數(素數)的簡單方法講解
  • python求質數的3種方法
  • python實現挑選出來100以內的質數
  • Python 判斷是否為質數或素數的實例
  • Python編程求質數實例代碼
  • python輸出100以內的質數與合數實例代碼
  • Python 2種方法求某個范圍內的所有素數(質數)
  • 解決Python中回文數和質數的問題
  • python求質數列表的例子
  • python中判斷數字是否為質數的實例講解

標簽:浙江 梅州 昆明 石家莊 錫林郭勒盟 懷化 西寧 文山

巨人網絡通訊聲明:本文標題《利用Python計算質數與完全數的方法實例》,本文關鍵詞  利用,Python,計算,質數,與,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《利用Python計算質數與完全數的方法實例》相關的同類信息!
  • 本頁收集關于利用Python計算質數與完全數的方法實例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 内丘县| 乐清市| 白银市| 静宁县| 子长县| 桑日县| 新干县| 辽源市| 凉山| 丹巴县| 哈巴河县| 永嘉县| 独山县| 乐清市| 萨迦县| 镇赉县| 厦门市| 浦东新区| 延吉市| 广德县| 宜春市| 武功县| 扶绥县| 开封县| 富阳市| 佛冈县| 嘉禾县| 曲阜市| 东平县| 乌鲁木齐县| 南靖县| 九龙坡区| 砚山县| 镇安县| 宕昌县| 三都| 禄劝| 乐东| 两当县| 隆化县| 尼木县|