奇怪的分式
显示标签
时间限制:C/C++ 1000MS,其他语言 2000MS
内存限制:C/C++ 256MB,其他语言 512MB
难度:简单
出题人:
描述
上小学的时候小明经常自己发明新算法。一次,老师出的题目是:1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45,老师刚想批评他,转念一想,这个答案凑巧也对啊。 对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 请写出所有不同算式的个数(包括题中举例的)。显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同的算式。但对于分子分母相同的情况,2/2 乘以 3/3 这样的类型太多了,不在计数之列!
输入描述
(无)
输出描述
(输出答案即可)
#include<iostream>
#include<vector>
using namespace std;
vector<int> vec;
int ans;
bool check()
{
double a = vec[0];
double b = vec[1];
double c = vec[2];
double d = vec[3];
double ac = a*10+c;
double bd = b*10+d;
if(a==b&&c==d)return false;
if((a/b*c/d)==ac/bd)return true;
return false;
}
void dfs(int n)
{
if(n==4)
{
if(check())
{
ans++;
}
return;
}
for(int i=1;i<=9;++i)
{
vec.push_back(i);
dfs(n+1);
vec.pop_back();
}
}
int main()
{
dfs(0);
cout<<ans<<endl;
return 0;
}