YTU 2509: 奇怪的分式

2509: 奇怪的分式

时间限制: 1 Sec   内存限制: 128 MB
提交: 113   解决: 48

题目描述

上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 
 1/4 乘以 8/5  
 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png)

YTU 2509: 奇怪的分式_第1张图片

老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 
对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 
请写出所有不同算式的个数(包括题中举例的)。 
显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同的算式。 
但对于分子分母相同的情况,2/2 乘以 3/3 这样的类型太多了,不在计数之列!

请输出所有满足小明新算法的分式组合,以及这类分数组合的个数。

输入

没有输入

输出

请输出所有满足小明新算法的分式组合,以及这类分数组合的个数。

样例输出

1/2 5/4
1/4 8/5
1/6 4/3
1/6 6/4

...



9/4 8/9
n

提示

注意:答案是个整数(考虑对称性,肯定是偶数)。

迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……

#include <iostream>
#include <cmath>
using namespace std;
const double eps=10e-10;
int main()
{
    int i,j,k,l;
    int num=0;
    for(i=1; i<10; i++)
        for(k=1; k<10; k++)
            for(j=1; j<10; j++)
                for(l=1; l<10; l++)
                {
                    if(i == k || j == l)continue;
                    if(fabs((i*10 + j)*1.0/(k*10+l) - (i*j*1.0)/(k*l)) < eps)
                    {
                        cout<<i<<'/'<<k<<' '<<j<<'/'<<l<<endl;
                        num++;
                    }
                }
    cout<<num<<endl;
    return 0;
}

你可能感兴趣的:(YTU 2509: 奇怪的分式)