新手上路,求2到10的半质数个数为什么不行
n = 2o = 2
m = 0
p = 0
for a in range (2,11):
while a > (n+1):
if a % n == 0:
m = m + 1
if a / n == n:
m = m + 1
n = n + 1
if m == 2:
p = p + 1
n = o
m = 0
print (p)
你的思路不是很理解,我写了个,你参考下。
#求出2-10的质数
p = []
for a in range (2,11):
for i in range (1,a+1):
if i == 1:
continue
if a != i and a % i == 0:
break
if i == a:
p.append(a)
#从前面求出的质数求10以内的半质数
result = []
p2 = p[:]
for h in p:
if h * h <=10:
result.append(h*h)
else:
break
p2 = p2
for g in p2:
if h * g<=10:
result.append(h*g)
else:
break
print(p)
result.sort()
print(result)
ba21 发表于 2017-7-29 10:55
你的思路不是很理解,我写了个,你参考下。
我还没学到那么后面{:10_277:},但还是谢谢 hzxwonder 发表于 2017-7-29 11:56
我还没学到那么后面,但还是谢谢
列表都还没有学????
跟你的代码比,就多了个列表 ba21 发表于 2017-7-29 12:02
列表都还没有学????
跟你的代码比,就多了个列表
我刚学习几天,而且每天只能学一课时(学业压力所迫){:10_277:} hzxwonder 发表于 2017-7-29 12:04
我刚学习几天,而且每天只能学一课时(学业压力所迫)
不急,一步一个脚印来 ba21 发表于 2017-7-29 12:57
不急,一步一个脚印来
嗯,谢谢 ba21 发表于 2017-7-29 10:55
你的思路不是很理解,我写了个,你参考下。
我发现了一个更简单的算法,大佬帮我看一下可以吗?for i in range (2,1001):
a = 1
b = 0
while i >= a:
if i % a == 0 :
b = b+1
a = a+1
if b <= 2:
print(i,end='') hzxwonder 发表于 2019-6-23 20:35
我发现了一个更简单的算法,大佬帮我看一下可以吗?
运行没问题就是可以。
看代码是直接把结果打印出来。
编程是灵活的,你觉得直接打印结果能满要求,那么就直接打印即可 ba21 发表于 2019-6-24 18:14
运行没问题就是可以。
看代码是直接把结果打印出来。
编程是灵活的,你觉得直接打印结果能满要求,那 ...
好的,O(∩_∩)O谢谢
页:
[1]