二、马虎的算式
【解析】:暴力穷举即可 枚举每个位上的数字、组合判断、暴力穷举
【答案】:142
方法一:暴力穷举
package com.kuang.Test;
public class Test{public static void main(String[] args) {int ans = 0;for(int a = 1; a < 10; a++) {for(int b = 1; b < 10; b++) {if(b != a) for(int c = 1; c < 10; c++) {if(c != a && c != b) for(int d = 1; d < 10; d++) {if(d != a && d != b && d != c) for(int e = 1; e < 10; e++) {if(e != a && e != b && e != c && e != d) {if((a*10+b)*(c*100+d*10+e) == (a*100+d*10+b)*(c*10+e)) {ans++;//System.out.printf("(%d*10+%d)*(%d*100+%d*10+%d) == (%d*100+%d*10+%d)*(%d*10+%d)\n", a, b, c, d, e, a, d, b, c, e);}}}}}}}System.out.println(ans);}}
方法二:暴力穷举
package com.kuang.Test;public class Test {public static void main(String[] args) {int sum=0;for(int a = 1; a < 10; a++)for(int b = 1; b < 10; b++)for(int c = 1; c < 10; c++)for(int d = 1; d < 10; d++)for(int e = 1; e < 10; e++)if(a != b && a != c && a != d && a != e && b != c && b != d && b != e && c != d && c != e && d != e)if((a*10+b)*(c*100+d*10+e) == (a*100+d*10+b)*(c*10+e))sum++;System.out.println(sum);}}
方法二没有方法一运行的快,方法一每次都去重,可以少很多次循环