计算并输出一个正整数的算数平方根,不能使用库函数,若不是整数则输出整数部分,使用c++
时间: 2024-10-08 07:09:35 浏览: 30
在C++中计算一个正整数的算术平方根且不使用库函数,可以采用牛顿迭代法来实现。这是一个迭代算法,通过不断逼近的方式找到目标值。以下是简单的步骤:
```cpp
#include <iostream>
using namespace std;
// 定义一个函数计算平方根
int sqrt(int num) {
if (num == 0 || num == 1)
return num; // 整数0和1的平方根分别为0和1
int guess = num / 2; // 初始猜测值为num的一半
while (guess * guess <= num) { // 当猜测值的平方小于等于原数时循环
guess = (guess + num / guess) / 2;
}
return guess; // 返回接近实际平方根的结果
}
int main() {
int input;
cout << "请输入一个正整数:";
cin >> input;
// 检查输入是否为正整数
if (input > 0) {
int result = sqrt(input);
cout << "该数的算术平方根为:" << result << endl;
if (result * result != input) { // 如果结果的平方不等于原数,则说明不是整数部分
cout << "整数部分为:" << result << endl;
} else {
cout << "整数部分为:" << result << ", 因为它是完全平方数" << endl;
}
} else {
cout << "输入错误,需要正整数。" << endl;
}
return 0;
}
```
阅读全文