C语言,怎么条件判断一个数是125的10的几次方倍
时间: 2024-10-12 19:14:26 浏览: 7
在C语言中,你可以通过将待检查的数字除以125,然后对结果取整并减一的方式来判断这个数是否是125的10次方倍。这是因为如果一个数是125的n次方,那么它除以125的结果应该刚好是n(向下取整),因为每次乘以10就是加一位指数。
下面是一个简单的函数示例:
```c
#include <stdio.h>
int isPowerOfTenHundred(int num) {
int exponent = 0;
while (num >= 125) {
num /= 125; // 除以125
exponent++; // 每次循环增加一次
}
return num == 1 && exponent > 0; // 如果最后的num是1并且有正的exponent,则是10的幂次
}
int main() {
int testNumber = 125000; // 测试一个例子
if (isPowerOfTenHundred(testNumber)) {
printf("%d 是125的10的%dx\n", testNumber, exponent);
} else {
printf("%d 不是125的10的幂次\n", testNumber);
}
return 0;
}
```
在这个示例中,`isPowerOfTenHundred`函数会返回true如果输入的数是125的10的幂次,false则不是。如果测试数是125的10的n次方,函数会输出相应的指数值。