python输入一个大于 1 的整数 n,判断是否是素数并输出
时间: 2024-03-13 15:45:57 浏览: 56
可以使用以下代码来判断一个数是否为素数并输出结果:
```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语句。
相关问题
python输入一个大于 1 的整数 n,判断是否是素数
可以使用以下代码来判断一个数是否为素数:
```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。
阅读全文