原理是判断n的因子个数,个数为偶数则是0,为奇数则为1
但在各个过程中发现判断因子奇偶数的神奇方法,取决于sqrt的特殊性质向下取整,如果平方根相乘为原整数,则因子个数为奇书数,否则为偶数
#include <iostream>
#include<math.h>using namespace std;
int main()
{
int n;
while (cin >> n)
{
int a = sqrt(n);
//因子为偶数
if (a*a!=n)
cout << "0" << endl;
else cout << "1" << endl;
}
}
判断整数因子奇偶性的算法
本文介绍了一种利用平方根的特殊性质来高效判断一个整数因子个数是否为奇数的方法,并通过C++代码实现了该算法。当一个整数的平方根向下取整后相乘等于原数时,其因子个数为奇数。
539

被折叠的 条评论
为什么被折叠?



