您的位置:首页 > 其它

判断a/b是否为有限小数 (小学数学题目)

2013-09-15 00:11 218 查看
     我们知道,在数学上,当a, b都为正整数时,a/b必然是有理数(有限或者循环),那如何判断a/b是有限还是无限循环呢?程序如下:

#include <iostream>
using namespace std;

int gcd(int x, int y)
{
int r;
while( x % y)
{
r = x % y;
x = y;
y = r;
}

return y;
}

bool is2And5Number(int n)
{
while(0 == n % 2)
{
n /= 2;
}

while(0 == n % 5)
{
n /= 5;
}

if(1 == n)
{
return true;
}

return false;
}

int main()
{
int a, b;
int g, n;
while(1)
{
cin >> a >> b;
g = gcd(a, b);
n = b / g;

if(is2And5Number(n))
{
cout << "finite" << endl;
}
else
{
cout << "infinite" << endl;
}
}

return 0;
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐