C++判断一个数既是平方数,又是立方数
时间: 2023-05-25 07:03:44 浏览: 596
c++平方数源代码!
一个数同时为平方数和立方数,实际上就是找一个数既满足 $x^2=n$,又满足 $x^3=n$,即找一个数使得 $x^6=n^3$ 成立。那么我们可以通过求出这个数的立方根和平方根,然后再验证 $x^6=n^3$ 是否成立来判断。
具体来说,先求出该数的立方根和平方根,即 $a=\sqrt[3]{n}$ 和 $b=\sqrt{n}$,然后再判断 $a^2=b$ 是否成立,如果成立,说明该数既是平方数,又是立方数。
代码实现如下:
```c
#include <stdio.h>
#include <math.h>
int main() {
int n;
scanf("%d", &n);
double a = cbrt(n); // 求立方根
double b = sqrt(n); // 求平方根
if (a*a == b) { // 判断是否同时为平方数和立方数
printf("%d 同时为平方数和立方数。\n", n);
} else {
printf("%d 不同时为平方数和立方数。\n", n);
}
return 0;
}
```
阅读全文