利用Python计算质数与完全数的方法实例
作者:手机电脑789 发布时间:2022-12-30 23:35:26
标签:python,完全数,质数
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()
结束语
来源:https://blog.csdn.net/PC789/article/details/114454584


猜你喜欢
- oracle 11g的监听日志和警告日志都是在/u01/oracle/diag/tnslsnr/oracle/listener目录和/u01
- 查询语言通过在查询表格中键入单词或短语,然后单击按钮执行查询,就可以在 Web 站点中搜索任意的单词或短语(例如,查询表格示例
- 使用模块requests方式代码如下:import requests url_string="https://******&quo
- 本文实例讲述了Python设计模式之模板方法模式。分享给大家供大家参考,具体如下:模板方法模式(Template Method Patter
- Expire 命令用于设置 key 的过期时间。key 过期后将不再可用。r.set('2', '4028b2883
- 1.前端接口调用2.register访问入口//查询一个用户下所有的subnetws.Route(ws.GET("/subnets
- 本文实例为大家分享了Python实现计算器功能示例代码,供大家参考,具体内容如下1.简单计算器#计算一个表达式的时候,首先肯定是先算括号里面
- 最近看到了两行 JavaScript 代码,很受启发。1. 封装 DOM 属性在 JavaScript 中,我们可以获取HTML元素的属性值
- 本文分析了CodeIgniter连贯操作的底层原理。分享给大家供大家参考,具体如下:php oop连贯操作原理->符号其实是传递对象指
- 如下所示:def list_dict_duplicate_removal(): data_list = [{"a&qu
- 1、如何使用描述符对实例属性做类型检查?实际案例:在某项目中,我们实现了一些类,并希望能像静态类型语言那样(C,C++,Java)对它们的实
- 遵循Web标准的思想,网页要表现出一种亲和力。那么,针对残障用户来说,其“阅读”器可不能读取图像上传递的信息的。所以我们会采用一种Using
- 使用python编写了共六种图像增强算法:1)基于直方图均衡化2)基于拉普拉斯算子3)基于对数变换4)基于伽马变换5)限制对比度自适应直方图
- Vue.js 使用v-cloak后仍显示变量的解决方法v-cloak 这个指令是防止页面加载时出现 vuejs 的变
- kafka go库kafka go客户端官方目前没有提供,但在github有2个非常流行的库星星较多,网上案例也多 https://gith
- 本文参加新星计划人工智能(Pytorch)赛道:https://bbs.csdn.net/topics/613989052一、Mnist 分
- 疫情数据程序源码// An highlighted blockimport requestsimport jsonclass epidemi
- 写一个简单的例子程序:# coding:utf-8import flaskfrom flask import json, jsonify,
- 我们有时候会批量处理同一个文件夹下的文件,并且希望读取到一个文件里面便于我们计算操作。比方我有下图一系列的txt文件,我该如何把它们写入一个
- 本文介绍一下 Pytorch 中常用乘法的 TensorRT 实现。pytorch 用于训练,TensorRT 用于推理是很多 AI 应用开