奇怪的分式

蓝桥杯历年省赛真题汇总及题目详解

2014第五届蓝桥杯省赛试题详解

标题:奇怪的分式

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

1/4 乘以 8/5 

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

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

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

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

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

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

在这里插入图片描述
注意:答案是个整数(考虑对称性,肯定是偶数)。请通过浏览器提交。不要书写多余的内容。

#include<stdio.h>
int gcd(int i,int j)
{
	return (j==0)?i:gcd(j,i%j);
}
main()
{
	//   a/b * c/d == ac/bd
	
	int a,b,c,d,fz=0,fm=0,fz2=0,fm2=0,ss=0;
	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(a!=b&&c!=d)
		{
			fz=a*c;
			fm=b*d;
			ss=gcd(fz,fm);
			//printf("fz=%d fm=%d\n",fz,fm);
			//printf("gcd=%d\n",gcd(fz,fm));
			fz/=ss;
			fm/=ss;
			
			fz2=a*10+c;
			fm2=b*10+d;
			ss=gcd(fz2,fm2);
			fz2/=ss;
			fm2/=ss;
			
			if(fz==fz2&&fm==fm2)
				printf("%d %d %d %d\n",a,b,c,d);
			//(a/b)*(c/d)==(a*10+c)/(b*10+d)
		}
	}
	return 0;
 } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值