如何检查一个数字是否为质数?
可能重复的问题:
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())
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。