神奇算式

题目描述

由4个不同的数字,组成的一个乘法算式,它们的乘积仍然由这4个数字组成。

比如:

210 x 6 = 1260

8 x 473 = 3784

27 x 81 = 2187

都符合要求。

如果满足乘法交换律的算式算作同一种情况,那么,包含上边已列出的3种情况,一共有多少种满足要求的算式。

请填写该数字,通过浏览器提交答案,不要填写多余内容(例如:列出所有算式)。

package mec.lanqiao;

import java.util.*;

public class Main {
static int cnt = 0; // 判断一个数组里的元素是否各不相同
static boolean isBuTong(int[] x) {
Set<Integer> set = new HashSet<>();
for (int i = 0; i < x.length; i++) {
set.add(x[i]);
}
return x.length == set.size();
} public static void main(String[] args) {
for (int n = 1000; n < 9999; n++) {
int[] store = { n / 1000, n / 100 % 10, n / 10 % 10, n % 10 };
Arrays.sort(store); // 对数组进行排序
if (isBuTong(store)) { // 各位数字各不相同 // 找较小乘数为1位数字的情况
for (int i = 0; i < store.length; i++) {
if (store[i] == 0) // 第一个数字为1位数,不能为0
continue;
// 判断商能否被第一个数整除,并将两个乘数的各位数字放到数组nStore中,比较nStore里的元素与store里是否完全相同
if (n % store[i] == 0 && n / store[i] / 100 < 10) {
int t = n / store[i];
int[] nStore = { store[i], t / 100, t / 10 % 10, t % 10 };
Arrays.sort(nStore);
boolean f = true;
for (int j = 0; j < 4; j++) {
if (store[j] != nStore[j]) {
f = false;
break;
}
}
if (f) {
cnt++; // 相同则cnt加一
System.out.println(store[i] + "x" + t + "=" + n);
}
}
}
// 找较小乘数为2位数字的情况
for (int i = 0; i < store.length; i++) {
if (store[i] == 0) // 第一个乘数十位数不能为0
continue;
for (int j = 0; j < store.length; j++) {
int first = store[i] * 10 + store[j]; // 第一个乘数
if (n % first == 0 && n / first / 10 < 10) {
int sec = n / first; // 第二个乘数
int[] nStore = { store[i], store[j], sec / 10,
sec % 10 };
Arrays.sort(nStore);
boolean f = true;
for (int k = 0; k < nStore.length; k++) {
if (store[k] != nStore[k]) {
f = false;
break;
}
}
if (f && first <= sec) {
cnt++; // 相同则cnt加一
System.out.println(first + "x" + sec + "=" + n);
}
}
}
}
}
}
System.out.println(cnt + "种");
}
}

java实现第五届蓝桥杯神奇算式的更多相关文章

  1. java实现第五届蓝桥杯奇怪的分式

    奇怪的分式 题目描述 上小学的时候,小明经常自己发明新算法.一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png) 老师刚想批 ...

  2. java实现第三届蓝桥杯填算式

    ** 填算式** [结果填空] (满分11分) 看这个算式: ☆☆☆ + ☆☆☆ = ☆☆☆ 如果每个五角星代表 1 ~ 9 的不同的数字. 这个算式有多少种可能的正确填写方法? 173 + 286 ...

  3. java实现第五届蓝桥杯殖民地

    殖民地 带着殖民扩张的野心,Pear和他的星际舰队登上X星球的某平原.为了评估这块土地的潜在价值,Pear把它划分成了M*N格,每个格子上用一个整数(可正可负)表示它的价值. Pear要做的事很简单- ...

  4. java实现第五届蓝桥杯LOG大侠

    LOG大侠 atm参加了速算训练班,经过刻苦修炼,对以2为底的对数算得飞快,人称Log大侠. 一天,Log大侠的好友 drd 有一些整数序列需要变换,Log大侠正好施展法力- 变换的规则是: 对其某个 ...

  5. java实现第五届蓝桥杯生物芯片

    生物芯片 X博士正在研究一种生物芯片,其逻辑密集度.容量都远远高于普通的半导体芯片. 博士在芯片中设计了 n 个微型光源,每个光源操作一次就会改变其状态,即:点亮转为关闭,或关闭转为点亮. 这些光源的 ...

  6. java实现第五届蓝桥杯供水设施

    供水设施 X星球的居民点很多.Pear决定修建一个浩大的水利工程,以解决他管辖的N个居民点的供水问题.现在一共有N个水塔,同时也有N个居民点,居民点在北侧从1号到N号自西向东排成一排:水塔在南侧也从1 ...

  7. java实现第五届蓝桥杯排列序数

    排列序数 如果用a b c d这4个字母组成一个串,有4!=24种,如果把它们排个序,每个串都对应一个序号: abcd 0 abdc 1 acbd 2 acdb 3 adbc 4 adcb 5 bac ...

  8. java实现第五届蓝桥杯幂一矩阵

    幂一矩阵 天才少年的邻居 atm 最近学习了线性代数相关的理论,他对"矩阵"这个概念特别感兴趣.矩阵中有个概念叫做幂零矩阵.对于一个方阵 M ,如果存在一个正整数 k 满足 M^k ...

  9. java实现第五届蓝桥杯斐波那契

    斐波那契 标题:斐波那契 斐波那契数列大家都非常熟悉.它的定义是: f(x) = 1 .... (x=1,2) f(x) = f(x-1) + f(x-2) .... (x>2) 对于给定的整数 ...

随机推荐

  1. (电脑连不上热点)电脑连上了WIFI,但是显示网络不可用怎么办?

    假如WIFI没有问题的话,那这个就是电脑网络堵塞的问题了,下面是解决的办法: 情况一 1.首先win键+R打开运行框,输入cmd 2.然后在命令行输入 ipconfig -release ipconf ...

  2. javaWeb手动分页步骤

    一:编写实体类@Setter@Getter@ToString@Entity@Repositorypublic class PageBean<T> { private Integer cur ...

  3. JQuery踩过的坑,遇到就记下

    1 乱用选择器 坑人指数:200 JQuery选择器调用代价很大,反复调用效率更低.应采用缓存对象的方法或采用链式调用的方式. //错误的写法 $("#button").click ...

  4. hadoop与spark的处理技巧(一)Top N处理技巧

    1.MR的topN处理方案,假设所有输入Key都唯一 2.MR的topN处理方案,假设输入Key不唯一 3.spark的topN处理方案,假设所有输入Key都唯一,不使用top()和takeOrder ...

  5. Centos7 下代理配置

    对于提供服务的服务器来说,一般都配置在内网环境中,而在内网下公司处于安全的考虑,一般不开放外网的访问权限.这时如果想要访问外网,一般需要配置公司提供的代理服务器再进行使用.下面介绍几种配置代理的方法: ...

  6. python小练习-列表、字典

    1. 切片(Slice) L=['a','b','c','d'] L[0:2]表示从索引0开始取,直到索引2为止,但不包括索引2.即索引0,1,正好是2个元素 如果第一个索引是0,还可以省略: L[: ...

  7. Opencv+Python实现缺陷检测

    实验七.缺陷检测 一. 题目描述 ​ 对下面的图片进行缺陷检测操作,请详细地记录每一步操作的步骤. ​ 第一站图片是标准样品,后面几张图中有几个样品有瑕疵,需要你通过计算在图片上显示出哪张是合格,哪张 ...

  8. OpenResty应用实践

    一. 安装OpenResty 创建OpenResty用户 # useradd -M www -s /usr/sbin/nologin 安装OpenResty # apt-get install lib ...

  9. 【Windows】win10:硬件良好,软件系统出错

    平台:戴尔G3, win10 现象:能正常开机,开机后前几分钟内能打开部分应用,经过大约两分钟后系统无法正常使用. 分析:此次问题出现再新购买的笔记本电脑中,鉴于电脑刚买,硬件坏的可能性很小,然而为了 ...

  10. 【PyTorch】深度学习与PyTorch资料链接整理

    欢迎来到我的博客! 以下链接均是日常学习,偶然得之,并加以收集整理,感兴趣的朋友可以多多访问和学习.如果以下内容对你有所帮助,不妨转载和分享.(Update on 5,November,2019) 1 ...