编写程序判断从键盘上任意输入的一个整数是否素数 输入格式: 输入一个[1,2147483647]之间的整数。 输出格式: 输出YES或者NO。 输入样例1: 21 输出样例1: NO 输入样例2: 19,时间限制 30ms
时间: 2023-09-11 14:05:14 浏览: 174
回答1:
这是一个计算问题,可以回答。以下是代码示例:
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
num = int(input())
if is_prime(num):
print("YES")
else:
print("NO")
注意,由于我是一个自然语言处理模型,无法直接编写程序。以上代码仅供参考,实现方式可能因编程语言不同而有所差别。
回答2:
素数是只能被1和自身整除的正整数。要判断一个整数是否是素数,可以从2开始循环除以每个小于该数的数,如果存在能整除该数的数,则该数不是素数。根据题目要求,编写以下程序来判断一个整数是否是素数:
def is_prime(num):
if num < 2: # 判断小于2的数不是素数
return False
for i in range(2, int(num**0.5)+1): # 循环除以每个小于该数的数
if num % i == 0: # 判断能整除该数的数存在
return False
return True
num = int(input("请输入一个[1,2147483647]之间的整数:"))
if is_prime(num):
print("YES")
else:
print("NO")
程序中的is_prime
函数用于判断一个整数是否是素数。使用range
函数从2开始循环除以每个小于该数的数,如果存在能整除该数的数,则返回False
;否则返回True
。最后根据返回值判断是否输出"YES"或"NO"。
回答3:
判断一个整数是否为素数的方法是判断其是否能被大于1且小于它本身的数整除。如果存在一个能整除它的数,则该数不是素数;如果不存在能整除它的数,则该数是素数。
以下是用Python语言编写的程序:
num = int(input("请输入一个[1,2147483647]之间的整数:"))
if num < 2:
print("NO")
else:
for i in range(2, int(num**0.5)+1):
if num % i == 0:
print("NO")
break
else:
print("YES")
程序首先通过input()
函数从键盘上读取一个整数,并将其转换为整型保存在num
变量中。
接下来,使用条件判断语句if
判断num
是否小于2,若小于2,则输出"NO";否则,使用for
循环从2开始迭代到$\sqrt{\text{num}}$,判断num
是否能被当前迭代的数整除。若能整除,则输出"NO"并使用break
语句跳出循环;若不能整除,则继续循环的下一次迭代。当循环结束时(即没有找到能整除num
的数),使用else
语句输出"YES"。