蓝桥杯-2017模拟赛本科试题-猜算式-java
题目
你一定还记得小学学习过的乘法计算过程,比如: 273 x 15 ——– 1365 273 ——– 4095 请你观察如下的乘法算式 *** x*** ——– *** *** *** ——– ***** 星号代表某位数字,注意这些星号中, 0~9中的每个数字都恰好用了2次。 (如因字体而产生对齐问题,请参看图p1.jpg) 请写出这个式子最终计算的结果,就是那个5位数是多少? 注意:只需要填写一个整数,不要填写任何多余的内容。比如说明文字。
代码
public class Main {
public static void main(String[] args) {
for (
int i =
100; i <
1000; i++) {
for (
int j =
100; j <
1000; j++) {
int num[] =
new int[
6];
num[
0] = i;
num[
1] = j;
num[
2] = i * (j %
10);
num[
3] = i * (j /
10 %
10);
num[
4] = i * (j /
100);
num[
5] = i * j;
if(num[
2] >=
100 && num[
2] <
1000
&& num[
3] >=
100 && num[
3] <
1000
&& num[
4] >=
100 && num[
4] <
1000
&& num[
5] >=
10000 && num[
5] <
100000){
if (judge(num)) {
System.out.println(num[
5]);
}
}
}
}
}
private static boolean judge(
int[] num) {
int count[] =
new int[
10];
for (
int i =
0; i < num.length; i++) {
int temp = num[i] ;
while (temp !=
0) {
count[temp %
10]++;
temp /=
10 ;
}
}
for (
int i =
0; i <
10; i++) {
if (count[i] !=
2) {
return false;
}
}
return true;
}
}
结果
40096
转载请注明原文地址: https://ju.6miu.com/read-50085.html