python输入一个大于 1 的整数 n,判断是否是素数
时间: 2024-03-13 10:45:49 浏览: 67
可以使用以下代码来判断一个数是否为素数:
```python
n = int(input("请输入一个大于1的整数:"))
if n <= 1:
print("不是素数")
else:
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
print("不是素数")
break
else:
print("是素数")
```
这段代码中,首先判断输入的数是否小于等于1,如果是,则不是素数。然后从2开始遍历到n的平方根,如果n能被其中一个数整除,则说明n不是素数,输出“不是素数”,并通过break语句跳出循环。如果遍历完了整个范围,都没有找到能够整除n的数,则说明n是素数,输出“是素数”。这里使用了else语句配合for循环,如果for循环中没有执行break语句,则会执行else语句。
相关问题
输入一个大于或等于 3 且小于 7 的正整数 n 输出格式 按从小到大的顺序输出 n 位的自幂数,每行一个数
以下是代码实现:
```python
n = int(input())
for i in range(10**(n-1), 10**n):
s = str(i)
m = sum([int(j)**n for j in s])
if m == i:
print(i)
```
解释一下代码:
首先获取输入的正整数 n,然后从 10 的 n-1 次方开始循环到 10 的 n 次方结束,这是因为 n 位的自幂数最小值为 10 的 n-1 次方,最大值为 10 的 n 次方减 1。
接下来,将当前循环到的数 i 转化为字符串 s,然后对 s 中的每个字符 j,计算 j 的 n 次方并求和,得到 m。
最后,如果 m 等于 i,说明 i 是一个 n 位的自幂数,输出 i。
用户输入一个正整数 N,计算并输出不大于 N 的最大素数。 输入格式 输入一个正整数 N (N > 1)
你可以使用以下代码实现:
```python
n = int(input())
for num in range(n, 1, -1):
for i in range(2, int(num**0.5)+1):
if num % i == 0:
break
else:
print(num)
break
```
这里使用了两个 for 循环,第一个循环从输入的数字 N 开始递减到 2,第二个循环从 2 开始到这个数字的平方根加 1,判断这个数字是否为素数,如果是素数就输出并结束程序。
阅读全文