生成数字并检查我生成的数字是否为素数的代码
A code that produce a number and Check if my produced of number is primes or not
我编写了一个代码(在 python 中),它生成一个数字并检查该数字是否为质数,如果是质数,它将打印出来。
但是我的代码一直在生成数字并打印出来,你能反馈一下我的方法有什么问题吗?
val = 10
for i in range (2, (val+1)//2):
while (val+1) % i != 0 :
print(val + 1)
val = val *10
我想检查是否有任何数字(十的倍数加一)是否被视为质数。
素数是一个只能被 x 和 1 整除的数字 x。所以你应该开始遍历 2 和 x-1 之间的所有数字,看看模数是否曾经等于零。
val = 10
for i in range (2, val-1):
if val%i == 0:
print(i)
break
如果您想查看您的变量可整除的所有数字,您可以离开中断。
好吧,这个措辞很奇怪,但我明白了它的要点,我想,首先我们需要一个函数来检测素数
import math
def is_prime(n):
if n == 2:
return True
if n % 2 == 0 or n <= 1:
return False
sqr = int(math.sqrt(n)) + 1
for divisor in range(3, sqr, 2):
if n % divisor == 0:
return False
return True
那么,如果我的想法正确,你想测试一个数字是否为质数,遵循这个函数 x2 = x1 *10 + 1
所以这给了我们这个
val = 10
while val <10000:
if is_prime(val + 1) == False:
print(val+1)
break
val = val * 10
这不会永远持续下去,实际上在 1000(1001) 的第三个循环处中断。
我编写了一个代码(在 python 中),它生成一个数字并检查该数字是否为质数,如果是质数,它将打印出来。 但是我的代码一直在生成数字并打印出来,你能反馈一下我的方法有什么问题吗?
val = 10
for i in range (2, (val+1)//2):
while (val+1) % i != 0 :
print(val + 1)
val = val *10
我想检查是否有任何数字(十的倍数加一)是否被视为质数。
素数是一个只能被 x 和 1 整除的数字 x。所以你应该开始遍历 2 和 x-1 之间的所有数字,看看模数是否曾经等于零。
val = 10
for i in range (2, val-1):
if val%i == 0:
print(i)
break
如果您想查看您的变量可整除的所有数字,您可以离开中断。
好吧,这个措辞很奇怪,但我明白了它的要点,我想,首先我们需要一个函数来检测素数
import math
def is_prime(n):
if n == 2:
return True
if n % 2 == 0 or n <= 1:
return False
sqr = int(math.sqrt(n)) + 1
for divisor in range(3, sqr, 2):
if n % divisor == 0:
return False
return True
那么,如果我的想法正确,你想测试一个数字是否为质数,遵循这个函数 x2 = x1 *10 + 1
所以这给了我们这个
val = 10
while val <10000:
if is_prime(val + 1) == False:
print(val+1)
break
val = val * 10
这不会永远持续下去,实际上在 1000(1001) 的第三个循环处中断。