2014第五届蓝桥杯预赛试题本科c++奇怪的分式

探讨一种特殊的分式乘法规则,即分子与分子拼接、分母与分母拼接后形成的新的分式,其值竟然与标准计算方法一致的情况。文章通过编程列举了所有符合条件的一位数分式组合。
标题:奇怪的分式

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

    1/4 乘以 8/5 

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



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

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

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

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

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

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


#include<iostream>
using namespace std;

int main(void)
{
	int count = 0;
	float a, b;
	for (float i = 1; i <= 9; i++)
	{
		for (float j = 1; j <= 9; j++)
		{
			if (i == j) continue;
			for (float m = 1; m <= 9; m++)
			{
				for (float n = 1; n <= 9; n++)
				{
					if (m == n) continue;
					else
					{
						a = (i*m) / (j*n);   
						float c = (i / j)*(m / n);
						
						b = (i * 10 + m) / (j * 10 + n);
						if (a == b)
						{
							cout << "a=" << a << endl;
							cout << "c=" << c << endl << endl;
							count++;
						}
						
					}
				}
			}
		}
	}
	cout << count << endl;
	return 0;
}


注:为什么(i/j)*(m/n)就有错呢?因为i/j会有重复的结果

答案:14

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值