当前位置: 代码迷 >> 综合 >> 算法分析:枚举/暴力破解/多重循环(小明)
  详细解决方案

算法分析:枚举/暴力破解/多重循环(小明)

热度:92   发布时间:2023-12-01 13:21:00.0

一、问题描述

小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。有一次,老师出

的题目是:36x495=?他却给抄成了:396x45=?但结果却很戏剧性,他的答案竟然是对的!!

因为36*495=396*45=17820类似这样的巧合情况可能还有很多,比如:27*594=297*

54假设abcde代表1~9不同的5个数字(注意是各不相同的数字,且不含0)能满足形

如:这样的算式一共有多少种呢?

二、源码

package we;

import java.util.Scanner;

public class Student {

public static void main(String args[]) {

int i = 0;

for (int a = 1; a < 10; a++) {

for (int b = 1; b < 10; b++) {

if (a != b)

for (int c = 1; c < 10; c++) {

if (a != c && b != c)

for (int d = 1; d < 10; d++) {

if (a != d && b != d && c != d)

for (int e = 1; e < 10; e++) {

if (a != e && b != e && c != e && d != e) {

if ((a * 10 + b) * (c * 100 + d * 10 + e) == (a * 100 + d * 10 + b)

* (c * 10 + e)) {

System.out.print(a + " " + b + " " + c + " " + d + " " + e + "\n");

i += 1;

}

}

}

}

}

}

}

System.out.print("一共有"+i+"种");

}

}