Java算法-奇怪的分式

题目:

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

1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45

老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢?

请写出所有不同算式的个数(包括题中举例的)。

显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同的算式。

但对于分子分母相同的情况,2/2 乘以 3/3 这样的类型太多了,不在计数之列!注意:答案是个整数(考虑对称性,肯定是偶数)。请通过浏览器提交。不要书写多余的内容。

解答如下:

public class 奇怪的分式 {
    public static void main(String[] args) {
        int count = 0;
        for (int a = 1; a <= 9; a++) {
            for (int b = 1; b <= 9; b++) {
                if (a != b) {
                    for (int c = 1; c <= 9; c++) {
                        for (int d = 1; d <= 9; d++) {
                            if (c != d) {

                                //这里一定要注意类型的选择,不应该使用int类型,经度太低应使用double
                                double sum1 = (double) a / b * c / d;
                                double sum2 = (double) (a * 10 + c)/ (b * 10 + d);
                                if (sum1 == sum2) {
                                    count++;
                                }
                            }
                        }
                    }
                }
            }
        }
        System.out.println(count);
    }

}

结果为:14

时间: 2024-10-13 19:56:00

Java算法-奇怪的分式的相关文章

2014年第五届蓝桥杯试题C/C++程序设计B组——奇怪的分式

题目描述: 标题:奇怪的分式 上小学的时候,小明经常自己发明新算法.一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png) 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 对于分子.分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 请写出所有不同算式的个数(包括题中举例的). 显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同的算式. 但对于分子分母相同的情况,2/2 乘以

蓝桥杯 2014本科C++ B组 奇怪的分式 暴力枚举

蓝桥杯 枚举 奇怪的分式 标题:奇怪的分式 上小学的时候,小明经常自己发明新算法.一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png) 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 对于分子.分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 请写出所有不同算式的个数(包括题中举例的). 显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同的算式. 但对于分子分母相同的情况

奇怪的分式

上小学的时候,小明经常自己发明新算法.一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png) 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 对于分子.分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 请写出所有不同算式的个数(包括题中举例的). 显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同的算式. 但对于分子分母相同的情况,2/2 乘以 3/3 这样的类型太多了,不

YTU 2509: 奇怪的分式

2509: 奇怪的分式 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 94  Solved: 38 [Submit][Status][Web Board] Description 上小学的时候,小明经常自己发明新算法.一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png) 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 对于分子.分母都是 1~9 中的一位数的情况

蓝桥杯:奇怪的分式

*/--> pre.src {background-color: Black; color: White;} pre.src {background-color: Black; color: White;} pre.src {background-color: Black; color: White;} pre.src {background-color: Black; color: White;} pre.src {background-color: Black; color: White;}

12道Java算法与编程面试题

12道Java算法与编程面试题自己整理的面试题,希望可以帮到大家,需要更多资料的可以私信我哦,大家一起学习进步! 算法与编程1.编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔.答:package cn.itcast; import java.io.File;import java.io.FileReader;import java.io.FileWriter; public cla

Java算法快速排序

快速排序的原理:每次将序列以一个值为界限分成两组,在将两个序列分别以一个界限分成两组这样一直分下去. int[] a = {11,222,44,63,84,11,24,53,123,25,98,76,34}; 第一步:以34将数组a分成两组  11, 25, 24, 11              34,  63, 44, 53, 123, 222, 98, 76, 84 第二步:以11将11, 25, 24, 11分为两组  11, 11,     24, 25.以84将34,  63, 44

java算法 蓝桥杯 格子位置

问题描述 输入三个自然数N,i,j (1<=i<=N,1<=j<=N),输出在一个N*N格的棋盘中,与格子(i,j)同行.同列.同一对角线的所有格子的位置. 输入格式 输入共三行,分别输入自然数N,i,j.其中保证N<=24且1<=i<=N,1<=j<=N. 输出格式 输出共四行.第一行为与格子(i,j)同行的所有格子的位置,第二行为与格子(i,j)同列的所有格子的位置,第三行为从左上到右下对角线上的格子的位置,第四行为从左下到右上对角线上的格子的位置

趣味Java算法题(附答案)

[程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数:    1"); System.out.println("第2个月的兔子对数:    1"