python刷题:哥德巴赫猜想
Description
哥德巴赫猜想:对于任一个大于或等于4的偶数n,至少存在一对素数p1和p2,使得n=p1+p2。 这个猜想目前既没有被证明,也没有被否定。没有人确定这个猜想是否成立。但是,如果对于给定的一个偶数,存在这样一对素数的话,人们是可以找到的。我们的要求是编写一个程序,对于给定的一个偶数,计算出存在多少对素数满足这个猜想。 在输入中给出一系列偶数。对于每一个数,程序输出存在的素数对数。注意:我们关心的是真正不同的数字对数,所以不能将(p1,p2)和(p2,p1)作为不同的两对数。
Input
每行给出一个整数。假设每个整数为偶数,并且大于或等于4,小于等于2的15次方。输入文件的结尾用0表示。
Output
每个输出行包含一个整数。不要在输出中出现其他字符。
Sample Input
6 10 12 0
Sample Output
1 2 1
AC代码:
def is_prime(n):list = [True]*(n+1) i = 2while i * i <= n:if list[i]:j = iwhile j * i <= n:list[j*i] = Falsej += 1i += 1return list
while True:n = int(input())if n == 0:breaklist = is_prime(n)primes = []for i in range(2,n+1):if list[i] == True:primes.append(i)left = 0right = len(primes) - 1num = 0while left <= right:if (primes[left] + primes[right] == n):num += 1left += 1right -= 1elif primes[left] + primes[right] < n:left += 1elif primes[left] + primes[right] > n:right -= 1print(num)
Time Limit Exceed 代码:
def su(num):flag = 1for i in range(2,num):if num % i == 0:flag = 0breakif flag == 1:return Trueelse :return False
while True:n = int(input())if n == 0:breakcount = 0for i in range(2,int(n/2) + 1):if su(i) == True and su(n-i) == True:count += 1print(count)
总结:
一开始做这题也没考虑很多,就是用的很简单的方法。然后就超时了,因为数据量很大时就崩了,暴力真的不要用。
然后就过一番学习之后,找到了新的方法(doge)。思路就是:首先建立一个数组,里面元素全部设为True,然后根据某个数是素数,但是它的倍数不是素数的原则,如果不是素数设为False。再就是用到了双指针的办法,从两端分别找满足两数之和等于n的数,满足条件记录数据,不满足继续查找。
python刷题:哥德巴赫猜想相关推荐
- python刷题软件代码_Python使用docx模块实现刷题功能代码
起由: 前一阵子想要刷一刷国二Python的题库,千方百计找到题库之后,打开一个个word文档,发现一题一题阅读很麻烦,而且答案就在题目的下面,阅读题目的时候想自己做出题目却又总能不经意看到答案,甚烦 ...
- 【Python刷题篇】Python从0到入门3|循环、条件复习、元组入门、字典入门
Python从0到入门3目录 前言 Q1:团队分组 Q2:禁止重复注册 Q3:元组-牛客运动会 Q4:字典-遍历字典 Q5:字典-毕业生就业调查 Q6:姓名与学号 总结 前言 - 本期是Python从 ...
- 【Python刷题篇】Python从0到入门4|字典复习、函数入门、综合实践
Python从0到入门3目录 前言 Q1:字典复习-首都 Q2:函数入门-求差 Q3:函数入门-牛牛的朋友 Q4:综合案例:自动售卖饮料机 Q5:综合案例-被8整除的数字 Q6:综合案例-披萨店的订单 ...
- Python刷题记录(81-90)
Python刷题记录(81-90) 题目来源PTA平台 PAT (Basic Level) Practice (中文) @TOC 1081 检查密码 本题要求你帮助某网站的用户注册模块写一个密码合法性 ...
- Python 刷题常用语法与数据结构汇总-2022.01.30
[笔试]python刷题笔记(基础)! https://blog.csdn.net/a_123456598/article/details/105420802 python语法刷题 https://b ...
- python刷题 NOI题库 python题解 洛谷、牛客网、AcWing 刷题等
NOI题库 python题解-2022.01.07整理(1.1-1.3) NOI题库 python题解-2022.01.07整理(1.1-1.3)_dllglvzhenfeng的博客-CSDN博客 N ...
- python画图、python小游戏、python刷题、python算法、python编程与数学
python画图系列整理 python画图系列整理-CSDN博客 python游戏入门书籍推荐 python游戏入门书籍推荐_pygame书籍推荐_dllglvzhenfeng的博客-CSDN博客 p ...
- buuctf刷题-Crypto-联想脑洞-达芬奇密码
buuctf刷题-Crypto-联想脑洞-达芬奇密码 给了两串数字和提示: (答案是一串32位十进制数字) 达芬奇隐藏在蒙娜丽莎中的数字列:1 233 3 2584 1346269 144 5 196 ...
- [python刷题模板] 珂朵莉树 ODT (基于支持随机访问的跳表
[python刷题模板] 珂朵莉树 ODT (基于支持随机访问的跳表) 一. 算法&数据结构 1. 描述 2. 复杂度分析 3. 常见应用 4. 常用优化 二. 模板代码 0. 区间推平(lg ...
最新文章
- Node.js Express 框架 Express
- VisionSeed 腾讯优图实验室
- Java Review - 并发编程_锁的分类
- Xshell选中的同时把内容复制到剪贴板(还可以设置设置文本分隔符)
- SQL语言之DQL语言学习(十一)分页查询
- 卸载LINUX自带的JDK——linux-jdk-java
- pythontdd测试命名_荐Pytest之测试命名规则
- c#常用类库----计算机信息类
- java 本季度_Java获取当天、本周、本月、本季度、本年等 开始及结束时间
- IUnknow IDispatch IInspectable QueryInterface
- php 队列 api,GitHub - shirakun/think-queue: ThinkPHP 队列支持
- 图相处理自学(二):图像处理基本算法Black level / sensor offset/ Shading/ Color Matrix/ AWB(QP值)
- Caffe 数据结构
- 暗通道去雾算法的python实现
- paip.验证码识别---分割.--使用投影直方图
- html m3u8 flash,m3u8插件-支持在pc端(flashplayer)播放m3u8格式文件-ckplayer使用方法...
- php二次开发帝国,帝国CMS二次开发注意事项
- 大数据是不是互联网思维?
- 青少年软件编程C++一级题库(31-40)
- 字节抖音电商NLP算法一面