鱼C论坛

 找回密码
 立即注册
查看: 1168|回复: 8

[已解决]想再做一个求质数的程序(之前虽然做过了),各位大佬帮忙看看有啥问题

[复制链接]
发表于 2020-8-12 09:13:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
a=2
b=2
while b!=101:
    b+=1
    c=b%a
    if c==0:
        a+=1
    eles:print (b)
    if b==a:
        b+=1
        
最佳答案
2020-8-12 09:20:40
本帖最后由 yhhpf 于 2020-8-12 09:48 编辑

这个...逻辑上就没通吧...


已经有其他人用合数的概念给你算质数的了,下面这个是按你思路,用最简单的循环求解的,你参考下:
b = 1
while b!=101:
    b += 1
    a = 2
    while a != b:
        if b % a == 0:
            a = 2
            break
        a +=1
    if a == b :
        print(b)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-12 09:20:40 | 显示全部楼层    本楼为最佳答案   
本帖最后由 yhhpf 于 2020-8-12 09:48 编辑

这个...逻辑上就没通吧...


已经有其他人用合数的概念给你算质数的了,下面这个是按你思路,用最简单的循环求解的,你参考下:
b = 1
while b!=101:
    b += 1
    a = 2
    while a != b:
        if b % a == 0:
            a = 2
            break
        a +=1
    if a == b :
        print(b)

点评

我很赞同!: 5.0
我很赞同!: 5
严重同意  发表于 2020-8-12 09:24
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-12 09:25:06 From FishC Mobile | 显示全部楼层
else拼错了,还有else:之后要换行,然后求质数的方法不对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-12 09:31:08 | 显示全部楼层
请问哪里没有问题?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-12 09:36:02 | 显示全部楼层
本帖最后由 baige 于 2020-8-12 09:39 编辑
import math
def prime(num):
    if num==2:
        return True
    elif num<=1 or num%2==0:
        return False
    for i in range(3,int(math.sqrt(num))+1,2):
        if(num%i==0):
            return False
    return True
        

for i in range(1,101):
    if prime(i):
        print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-12 09:43:19 | 显示全部楼层
本帖最后由 求资专用 于 2020-8-12 09:44 编辑
b=2
print(2)
while b!=101:
    b+=1
    flag=0
    a=2

    while a<b:
        c=b%a
        if c!=0:
            a+=1
        else:
            flag=1
            break

    if flag ==0:
        print(b)


你这个程序方向就错了啊……用这个代码吧,可以用。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-12 09:43:55 | 显示全部楼层
给你改了一下,在楼上,可以用。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-12 09:44:11 | 显示全部楼层
本帖最后由 baige 于 2020-8-12 09:45 编辑
import math
def prime(num):
    if num==2:
        return True
    elif num<=1 or num%2==0:
        return False
    for i in range(3,int(math.sqrt(num))+1,2):
        if(num%i==0):
            return False
    return True
        

b=1
while b!=100:
    b+=1
    if prime(b):
        print (b)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-19 11:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表