如何检查一个数字是否为质数?

-2 投票
7 回答
9810 浏览
提问于 2025-04-17 02:30

可能重复的问题:
Python中的简单质数生成器

首先,我会让用户输入一个数字。然后我的代码会检查用户输入的这个数字是否是质数。

以下是我的代码:

num = int(raw_input("Input any of the number you like:"))
for x in range(2, int(num**0.5)+1):
    if num % x == 0:
        print "It is not a prime number"
    else:
        print "It is a prime number"

但是问题是,我似乎无法得到2和3的输出。而当我随机输入一些数字,比如134245时,系统会输出很多句子。我也不知道为什么会这样?

希望有好心人能帮帮我 :)

7 个回答

0

一个数字如果只能被 1它自己 整除,那它就是一个质数。下面是一个伪代码示例:

boolean prime = true;
for (int i = 2; i * i <= num; i++)
   if (num % i == 0) {
      prime = false;
      break;
   }

if (prime)
  println("It is prime!");
else 
  println("It is not prime!");
1

num % x == 0 这个条件成立时,你应该停止检查(因为没有必要再继续测试了)。只有在循环结束时没有打印任何内容的情况下,才打印“这是一个质数”。

5
import urllib
tmpl = 'http://www.wolframalpha.com/input/?i=is+%d+a+prime+number'
def is_prime(n):
    return ('is a prime number' in urllib.urlopen(tmpl % (n,)).read())

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

撰写回答