
奇怪的分式(枚举 + 判断)
发布日期:2021-05-07 22:03:37
浏览次数:12
分类:精选文章
本文共 1869 字,大约阅读时间需要 6 分钟。
为了找出所有满足条件的分数相乘算式,我们需要枚举所有可能的分子和分母组合,并检查每个组合是否满足特定的条件。以下是详细的解决方案:
问题分析
我们需要找到所有满足以下条件的分数相乘算式:
- 分子和分母都是1到9之间的数字。
- 分子和分母不能相等。
- 分子与分母拼接后的数相除的结果等于原分数相乘的结果。
方法思路
枚举所有可能的分子和分母组合:由于分子和分母都是1到9之间的数字,且分子和分母不能相等,所以总共有9×8=72种可能的分数组合。
计算拼接后的数:对于每个分数a/b,计算拼接后的数,即10a + c和10b + d,其中c和d是另一个分数的分子和分母。
检查条件:检查拼接后的数相除的结果是否等于原分数相乘的结果,即(ac)/(bd) 是否等于 (10a + c)/(10b + d)。
计数满足条件的算式:如果满足条件,则计数加一,并考虑交换分子和分母的位置是否算不同的算式。
解决代码
public class Main { static int count = 0; public static void main(String[] args) { for (int a = 1; a < 10; a++) { for (int b = 1; b < 10; b++) { if (a == b) continue; for (int c = 1; c < 10; c++) { for (int d = 1; d < 10; d++) { if (c == d) continue; int num1 = a * c; int num2 = b * d; int gcd1 = gcd(num1, num2); int simplifiedNum1 = num1 / gcd1; int simplifiedDen1 = num2 / gcd1; int num3 = a * 10 + c; int num4 = b * 10 + d; int gcd2 = gcd(num3, num4); int simplifiedNum2 = num3 / gcd2; int simplifiedDen2 = num4 / gcd2; if (simplifiedNum1 == simplifiedNum2 && simplifiedDen1 == simplifiedDen2) { count++; } } } } } System.out.println(count); } private static int gcd(int m, int n) { if (n == 0) return m; return gcd(n, m % n); }}
代码解释
枚举分子和分母:使用四层循环枚举分子a、分母b、分子c和分母d,确保分子和分母不相等。
计算拼接后的数:计算拼接后的数10a + c和10b + d。
计算最大公约数:使用递归方法计算两个数的最大公约数,以简化分数。
检查条件:检查拼接后的数相除的结果是否等于原分数相乘的结果,如果满足条件,计数加一。
输出结果:打印满足条件的算式总数。
通过上述方法,我们可以准确找出所有满足条件的分数相乘算式数目。
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年03月28日 09时21分08秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
公司如何使用开源软件
2019-03-05
【MySQL】(九)触发器
2019-03-05
关于Altium Designer 09导出BOM表不能正确分类问题
2019-03-05
Oracle 11G环境配置
2019-03-05
【Spark】(六)Spark 运行流程
2019-03-05
你还不会在CentOS7上安装Docker嘛?
2019-03-05
Docker命令锦集
2019-03-05
【Python】(十二)IO 文件处理
2019-03-05
【Oozie】(三)Oozie 使用实战教学,带你快速上手!
2019-03-05
师兄面试遇到这条 SQL 数据分析题,差点含泪而归!
2019-03-05
Java面试题——基础篇
2019-03-05
Java8新特性——并行流与顺序流
2019-03-05
阿里云大数据ACP(四)机器学习 PAI
2019-03-05
如何通过 Dataphin 构建数据中台新增100万用户?
2019-03-05
C语言的数值溢出问题(上)
2019-03-05
BottomNavigationView控件item多于3个时文字不显示
2019-03-05
函数指针的典型应用-计算函数的定积分(矩形法思想)
2019-03-05
8051单片机(STC89C52)八个LED灯闪烁
2019-03-05
8051单片机(STC89C52)以定时器中断模式实现两倒计时器异步计时
2019-03-05