蓝桥杯题解 奇怪的分式 Java答案

奇怪的分式
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 乘以
小明居然把分子拼接在一起,分母拼接在一起,答案是: (参见下图)
老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!
对于分子、分母都是 ~ 中的一位数的情况,还有哪些算式可以这样计算呢?
请写出所有不同算式的个数(包括题中举例的)。
显然,交换分子分母后,例如: 乘以 是满足要求的,这算做不同的算式。
但对于分子分母相同的情况, 乘以 这样的类型太多了,不在计数之列!
运行限制
最大运行时间: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);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值