您的位置:首页 > 编程语言 > C语言/C++

2014 蓝桥杯 预赛 c/c++ 本科B组 第六题:奇怪的分式(11')

2015-10-22 21:04 399 查看
第六题:奇怪的分式(11')

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

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()
{
int a1,a2,b1,b2;
int ans = 0;
for(a1=1;a1<=9;a1++)
{
for(a2=1;a2<=9;a2++)
{
for(b1=1;b1<=9;b1++)
{
for(b2=1;b2<=9;b2++)
{
if(a1==a2 && b1==b2)
continue;
if((a1*b1)/(a2*b2*1.0) == (a1*10+b1)/((a2*10+b2)*1.0))
ans++;
}
}
}
}

cout<<ans<<endl;
return 0;
}


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