从键盘读取任意一个非0正整数x,判断这个数是否是平方数,如果是,则输出这个数的平方根,如果不是,则输出0。
时间: 2024-05-12 16:19:41 浏览: 97
```python
import math
x = int(input()) # 读入一个正整数x
if math.sqrt(x) % 1 == 0: # 如果x的平方根是整数
print(int(math.sqrt(x))) # 输出x的平方根
else:
print(0) # 否则输出0
```
或者使用整数开方函数 `isqrt()`:
```python
from math import isqrt
x = int(input()) # 读入一个正整数x
if isqrt(x) ** 2 == x: # 如果x是平方数
print(isqrt(x)) # 输出x的平方根
else:
print(0) # 否则输出0
```
相关问题
编写程序,从键盘读取任意一个非0正整数x,判断这个数是否是平方数,如果是,则输出这个数的平方根,如果不是,则输出0
```python
import math
x = int(input("请输入一个非0正整数:"))
if x > 0 and math.isqrt(x) ** 2 == x:
print(math.isqrt(x))
else:
print(0)
```
注:`math.isqrt()` 是 Python 3.8 引入的新函数,用于求整数的平方根。如果使用的是较早的 Python 版本,可以使用 `int(math.sqrt(x))` 来代替。
编写c语言代码,从键盘读取任意一个非0正整数x,判断这个数是否是平方数,如果是,则输出这个数的平方根,如果不是,则输出0。
```c
#include <stdio.h>
#include <math.h>
int main() {
int x;
printf("请输入一个非0正整数:");
scanf("%d", &x);
if (x <= 0) { // 判断输入是否是非0正整数
printf("输入错误!\n");
return 0;
}
int s = sqrt(x); // 计算平方根
if (s * s == x) { // 判断是否是平方数
printf("%d的平方根为%d\n", x, s);
} else {
printf("0\n");
}
return 0;
}
```
阅读全文