Tac 发表于 2020-11-23 20:30:44

求大佬帮忙 质数问题

对于标准输入中的每一行,给定一个正整数,您需要输出不超过标准输出的质数的个数。
当输入文本为空时,程序必须完成。
在这个问题中,请不要使用(Eratosthenes’s)筛算法。
另外要求输入形式为
2
10
100
1000
这样允许跨行输入

小伤口 发表于 2020-11-23 21:16:10

对你的题目有点不理解,要不举个列子?{:10_245:}

jackz007 发表于 2020-11-23 21:24:41

      是输入一个整数,输出不大于这个数的所有质数?还是输入很多整数,挑出里面的质数?

Tac 发表于 2020-11-23 21:48:01

本帖最后由 Tac 于 2020-11-23 21:52 编辑

小伤口 发表于 2020-11-23 21:16
对你的题目有点不理解,要不举个列子?

是输入一个数字,输出不大于这个数的质数的个数
比如输入10,10以下质数为2,3,5,7一共四个,输出为4
上面
2
10
100
1000的输出就是

1
4
25
168

Tac 发表于 2020-11-23 21:48:31

本帖最后由 Tac 于 2020-11-23 21:52 编辑

jackz007 发表于 2020-11-23 21:24
是输入一个整数,输出不大于这个数的所有质数?还是输入很多整数,挑出里面的质数?

是输入一个数字,输出不大于这个数的质数的个数
比如输入10,10以下质数为2,3,5,7一共四个,输出为4
上面
2
10
100
1000的输出就是

1
4
25
168

jackz007 发表于 2020-11-23 22:17:07

import math

def prime(n):
    r = False
    if n > 1:
      r = True
      for k in range(2 , int(math . sqrt(n)) + 1) :
            if k < n and n % k == 0:
                r = 0
                break
    return r

s = input() . strip()
if s:
    d = 0
    for k in range(2 , int(s) + 1) :
      if prime(k) : d += 1
print(d)

braga 发表于 2020-11-23 22:20:16

我好像写的有点蠢

braga 发表于 2020-11-23 22:20:48

num = 'x'
ques_list = []
ans_list = []
while num != '':
    while not num.isdigit():
      num = input('请输入一个整数:')
      if num == '':
            break
    if num == '':
      break
    ques_list.append(int(num))
    num = 'x'
for each in ques_list:
    if each == 2:
      ans_list.append(1)

    elif each == 3:
      ans_list.append(2)
    else:
      each_list = []
      for n in range(2, each+1):
            if n == 2:
                each_list.append(n)
                continue
            i = 1
            while i ^ 2 < n:
                i += 1
                if (n % i) == 0:
                  break
                if i ^ 2 >= n:
                  each_list.append(n)
      ans_list.append(len(each_list)+1)
for i in ans_list:
    print(i)

Tac 发表于 2020-11-23 22:22:09

jackz007 发表于 2020-11-23 22:17


可以改一下成允许输入为
2
10
100
1000
这种形式的吗?
因为我输入的时候好像只能一个数一个数这样输入不能跨行输入

Tac 发表于 2020-11-23 22:34:39

braga 发表于 2020-11-23 22:20


能解决问题就好,你这个正好符合我的要求{:10_256:}
页: [1]
查看完整版本: 求大佬帮忙 质数问题