计算整数m平方根的整数部分与小数部分
时间: 2024-12-11 19:23:35 浏览: 17
要计算一个整数 `m` 的平方根并将其分为整数部分和小数部分,我们可以使用一种近似方法,如牛顿迭代法(Newton-Raphson 方法)来找到平方根。这里我们将编写一个简单的程序,首先找到最接近的完全平方数,然后根据这个结果来确定整数部分和小数部分。
```c
#include <stdio.h>
// 判断一个数是否为完全平方数
int isPerfectSquare(int num) {
int root = (int)sqrt(num);
return (num == root * root);
}
// 计算平方根及其分解
void sqrtDecomposition(int m) {
int floor_root = (int)sqrt(m); // 整数部分
double exact_root = sqrt((double)m); // 实数精确值
printf("Integer part of the square root: %d\n", floor_root);
if (isPerfectSquare(m)) {
printf("Decimal part (remainder) is zero.\n");
} else {
double decimal_part = exact_root - floor_root;
printf("Decimal part (remainder): %.6f\n", decimal_part);
}
}
int main() {
int m;
printf("Enter an integer: ");
scanf("%d", &m);
sqrtDecomposition(m);
return 0;
}
```
当你运行这个程序时,它会提示你输入一个整数,然后输出该整数的平方根的整数部分和小数部分(如果有的话)。如果输入的是一个完全平方数,小数部分将会是零。
阅读全文