oj刷题:奇怪的分式

jlqwer 发表于 代码 分类,标签:

Description

上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 

 1/4 乘以 8/5  

 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png)




老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 

对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 

请写出所有不同算式的个数(包括题中举例的)。 

显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同的算式。 

但对于分子分母相同的情况,2/2 乘以 3/3 这样的类型太多了,不在计数之列!


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


Input

没有输入


Output

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


Sample Output

1/2 5/4

1/4 8/5

1/6 4/3

1/6 6/4


...




9/4 8/9

n


HINT

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

代码如下:

#include<stdio.h>
   #include<math.h>
   int main()
   {
       int i=0;
       float a,b,c,d,s1,s2,s3;
       for(a=1;a<10;a++)
       {   for(b=1;b<10;b++)
           {   for(c=1;c<10;c++)
              {   for(d=1;d<10;d++)
                  {
                      if (c==d || a==b)
                      continue;
                      {
                      s1=(a/b)*(c/d);
                      s2=(a*10+c)/(b*10+d);
                      s3=fabs(s1-s2);
                      if (s3<(1e-6))
                      {
                      printf("%.0f/%.0f %.0f/%.0f",a,b,c,d);
                      i++;
                      }
                      }
                  }
              }
          }
      }
  printf("%d",i);
      return 0;
  }