奇怪的分式
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 乘以
小明居然把分子拼接在一起,分母拼接在一起,答案是: (参见下图)
老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!
对于分子、分母都是 ~ 中的一位数的情况,还有哪些算式可以这样计算呢?
请写出所有不同算式的个数(包括题中举例的)。
显然,交换分子分母后,例如: 乘以 是满足要求的,这算做不同的算式。
但对于分子分母相同的情况, 乘以 这样的类型太多了,不在计数之列!
运行限制
最大运行时间:1s
最大运行内存: 128M
package testtt;
import java.math.BigInteger;
import java.util.Calendar;
import java.util.Scanner;
public class Main {
static int func(int i, int j) {
return i * 10 + j;
}
static int gcd(int i, int j) {
return j == 0? i : gcd(j, i % j);
}
static int lcm(int i, int j) {
return (i * j) / gcd(i, j);
}
public static void main(String[] args) {
int ans = 0;
for(int i = 1;i <= 9;i ++) {
for(int j = 1;j <= 9;j ++) {
for(int k = 1;k <= 9;k ++) {
for(int l = 1;l <= 9;l ++) {
int fz3 = func(i, j);
int fm3 = func(k, l);
int fz = i * j;
int fm = k * l;
int lcm = lcm(fm, fm3);
int tt1 = fz * (lcm / fm);
int tt2 = fz3 * (lcm / fm3);
if(tt1 == tt2 && i != k && j != l) {
ans ++;
System.out.println(i + " " + k + " " + j + " " + l + " " + fz3 + " " + fm3);
}
}
}
}
}
System.out.println(ans);
}
}