python怎么写 输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于2 31 的需要判断的正整数。 输出格式: 对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。 输入样例: 2 11 111 输出样例: Yes No
时间: 2024-05-05 14:16:51 浏览: 45
以下是Python3代码:
```python
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
n = int(input())
for _ in range(n):
num = int(input())
if is_prime(num):
print("Yes")
else:
print("No")
```
首先定义了一个判断素数的函数`is_prime`,判断方法是从2到根号n枚举每个数,看是否能整除n。如果能整除,则n不是素数,返回`False`;否则,n是素数,返回`True`。
然后读入正整数的个数n,和n个需要判断的正整数,对于每个数,调用`is_prime`函数判断是否为素数,如果是素数则输出"Yes",否则输出"No"。
相关问题
入在第一行给出一个正整数N(≤ 10),随后N行
都给出一个字符串,长度不超过1000。请你编写程序,对于每个字符串,判断它是否是“回文串”(即,从左往右读和从右往左读完全相同的字符串)。如果是,输出“You are a palindrome.”;否则输出“你不是回文串。”
ChitGPT: 好的,您的问题是:给定 N 个字符串,判断它们是否是回文串。我可以帮您写一个Python程序解决这个问题。
示例代码:
```
N = int(input())
for i in range(N):
s = input()
if s == s[::-1]:
print("You are a palindrome.")
else:
print("你不是回文串。")
```
您可以将此代码复制到Python编辑器中并尝试运行。注意,您需要先输入正整数N,然后输入N个字符串。我希望这个程序可以解决您的问题。如果您还有其他问题,请随时问我。
输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于1000000 的需要判断的正整数
以下是Python的代码实现:
```python
N = int(input())
for i in range(N):
num = int(input())
if num == 1:
print("No")
elif num == 2 or num == 3:
print("Yes")
else:
for j in range(2, int(num ** 0.5) + 1):
if num % j == 0:
print("No")
break
else:
print("Yes")
```
解释一下:
首先读入需要判断的正整数的个数N,然后用一个for循环读入每个需要判断的正整数num。
如果num等于1,则肯定不是质数,输出“No”。
如果num等于2或3,则肯定是质数,输出“Yes”。
如果num大于等于4,则从2到num的平方根的整数部分(即int(num ** 0.5) + 1)遍历,如果num能被其中任何一个数整除,则num不是质数,输出“No”;否则,num是质数,输出“Yes”。
注意,这里用到了“质数”的定义,即只有1和它本身两个因数的正整数。