美文网首页
算出所有素数日期,选一个作为浪漫的领证日期吧

算出所有素数日期,选一个作为浪漫的领证日期吧

作者: 火卫控 | 来源:发表于2021-12-02 03:48 被阅读0次

领证日期怎么选,“不可分解”

素数日期,何其浪漫

下面我们通过Python来算出所有一年中的素数日期

想必大家都被5.20朋友圈里面的晒领证给惊到到,为什么大家都选这一天呢?因为520谐音是我爱你啊!这是情侣双方都是对美好未来一半的期待而已,都想证明爱对方,彼此之间都想留下美好的回忆,也希望见证奇迹。

那么我们还可以怎么选领证日期来给予婚姻给好的寓意呢?结婚领证日是可以质数,寓意不可分解,那么我们来找一下一年中有哪些日期数是质数。

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数(最小的质数为2);否则称为合数。那么我们设计一个python程序来寻找所有的日期素数。具体步骤如下:

  1. 获取所有可能的日期数,11到1231(非连续自然数),[x*100+y (x∈(1,12), y∈(1,31))]
  2. 剔除一些不可能存在的日期数
  3. 对上述每个数进行判断是否为质数

经计算,可以得到198个素数日期,比如12月还有12月3日,12月5日,12月7日,12月8日,12月11日,12月13日,12月15日,12月17日,12月21日,12月23日,12月25日,12月27日,12月29日,12月31日等素数日期。

结果和代码均放在文末,这样可以从中好好挑选领证日期啦!

最后,祝所有夫妻百年好合,白头偕老, 永不分解!㊗

结果如下:


所有素数日期

代码如下:

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@File         :   sushu.py
@Time         :   2020/05/24 13:19:50
@Author       :   
@Contact      :   aqy0716@163.com
@Department   :   SCAU 
@Desc         :   None
'''

# here put the import lib

#素数判断
def sushu(i):
    if i == 1:
        return False
    for num in range(2,i):
        if i % num == 0:
            return False
        else:
            return True

#获取所有日期数
def huoquriqi():
    riqi = []
    for i in range(13):
        for j in range(32):
            shu = i*100 + j
            riqi.append(shu)
    #有些不能作为日期要移除
    yichu = [3,5,7,9,231,431,631,931,1131]
    for i in yichu:
        riqi.remove(i)
    return riqi

#主程序入口
if __name__ == '__main__':
    #打开文本准备写入
    f = open(r'所有素数日期.txt','a') 
    f.write('\n******以下为所有素数日期数:\n')
    f.write("-" * 110 + '\n')
    print( '\n******以下为所有素数日期数:')
    print("-" * 150, '\n')
    
    #获取日期数列表
    riqi = huoquriqi()

    #判断每一个日期数是否为素数
    sushuriqi = []
    for i in riqi:
        if sushu(i):
            sushuriqi.append(i)
    
    #格式化输出,每行10个日期数
    count = 0
    for i in sushuriqi:
        count += 1
        print(i,  '\t',end="")
        f.write(str(i) +' \t')
        if count % 10 == 0:
            print("")
            f.write("\n")
    print(count)
    print('\n'*2, "-" * 150, '\n')
    f.write('\n' + "-" * 110)
    f.close()




相关文章

网友评论

      本文标题:算出所有素数日期,选一个作为浪漫的领证日期吧

      本文链接:https://www.haomeiwen.com/subject/petyxrtx.html