古堡算式 福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA
/** 古堡算式福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE * ? = EDCBA他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”华生:“我猜也是!”于是,两人沉默了好久,还是没有算出合适的结果来。请你利用计算机的优势,找到破解的答案。把 ABCDE 所代表的数字写出来。答案写在“解答.txt”中,不要写在这里!*/
public class TDemo02_two {public static void main(String[] args){for(int i=10000;i<100000;i++){int a = i/10000;int b = i%10000/1000;int c = i%10000%1000/100;int d = i%10000%1000%100/10;int e = i%10;if(a==b||a==c||a==d||a==e||b==c||b==d||b==e||c==d||c==e||d==e){continue;}int y = e*10000+d*1000+c*100+b*10+a;if(y%i==0){System.out.println(i+"*"+y/i+"="+y);}}}
}
运行结果:
21978*4=87912
方法二:
/** 古堡算式福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE * ? = EDCBA他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”华生:“我猜也是!”于是,两人沉默了好久,还是没有算出合适的结果来。请你利用计算机的优势,找到破解的答案。把 ABCDE 所代表的数字写出来。答案写在“解答.txt”中,不要写在这里!*/
public class Demo02 {// 检查是否是全111111...public static boolean check(int[] b){boolean flag = true;for(int i=0;i<b.length;i++){if(b[i]==0){flag = false;break;}}return flag;}// 检查是否是一个五位数public static boolean checkFive(int[] b){boolean flag = false;int count = 0;for(int i=0;i<b.length;i++){if(b[i]==1){count++;}}if(count==5) flag = true;return flag;}// 得到一个五位数字public static String values(int[] b){StringBuffer sb = new StringBuffer();for(int i=0;i<b.length;i++){if(b[i]!=0){sb.append(i);}}return sb.toString();}// 反转 npublic static int reverse(int n){StringBuffer sb = new StringBuffer();sb.append(n);sb.reverse();return Integer.parseInt(sb.toString());}// 进位得到下一个数字public static void modify(int[] b){b[b.length-1]++;for(int i=b.length-1;i>0;i--){if(b[i]>1){b[i] = 0;b[i-1]++;}}}public static void calc(String s){int n = Integer.parseInt(s); // 得到一个五位数字int r = reverse(n); // 反转 nif(r%n==0) // 得到结果 n * ? = rSystem.out.println(n+"*"+(r/n)+"="+r);}public static void allSort(char[] c,int start,int end){char temp = 0;if(start==end){String s = new String(c);if((s.charAt(0)-'0')!=0){calc(s); // 计算结果}}else{for(int i=start;i<=end;i++){temp = c[start];c[start] = c[i];c[i] = temp;allSort(c,start+1,end);temp = c[start];c[start] = c[i];c[i] = temp;}}}public static void f(int[] b){for(;;){if(check(b)) break; // 检查是否是全111111...modify(b); // 进位,进行下一个数字的测试if(!checkFive(b)) continue; // 检查是否是一个五位数字String s = values(b); // 得到一个五位数字char[] c = s.toCharArray();allSort(c,0,c.length-1); // 全排列其中一个五位数,并计算结果}}public static void main(String[] args){int[] b = new int[10];f(b);}
}
运行结果:
21978*4=87912
古堡算式 福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA相关推荐
- 古堡算式(福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE * ? = EDCBA)
/*** * 福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE * ? = EDCBA他对华生说:"ABCDE应该代表不同的数字,问号也代表某个数字!"华生:" ...
- 古堡算式_经典的全排列问题(福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!” 华生:“我猜也)
题目描述 福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:"ABCDE应该代表不同的数字,问号也代表某个数字!" 华生:&quo ...
- 古堡算式 福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA
古堡算式 福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA (abcde不能重复!) #include <stdio.h> #include < ...
- 古堡算式 福尔摩斯到某古堡探险(嵌套循环)
题目: 福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:"ABCDE应该代表不同的数字,问号也代表某个数字!" 华生:" ...
- 福尔摩斯到某古堡探险
福尔摩斯到某古堡探险 描述 福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:"ABCDE应该代表不同的数字,问号也代表某个数字!" ...
- 蓝桥杯-福尔摩斯到某古堡探险
福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:"ABCDE应该代表不同的数字,问号也代表某个数字!" 华生:"我猜也 ...
- 4、福尔摩斯到某古堡探险
福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:"ABCDE应该代表不同的数字,问号也代表某个数字!" 华生:"我猜也 ...
- 在象棋算式中不同的棋子代表不同的数,设计一个算法求这些棋子个代表那些数字(回溯)
如下图的算式 兵 炮 马 卒+ 兵 炮 车 卒=车 卒 马 兵 卒 a b c d e 分别表示 兵 炮 马 卒 车 #include <stdio.h> #include <st ...
- 给定一个字符串计算式,计算结果
面试的一个题,当时只说了算法思路和大概实现步骤,现在我把完整的做出来,嗯嗯嗯,不晓得我这样算不算复杂,欢迎大家来建议,一起讨论讨论 给定一个计算式(包含加减乘除四则运算)字符串,计算结果 算法思想: ...
最新文章
- 网站截图工具EyeWitness
- gateway动态路由_spring-cloud-gateway简介
- word2007中如何隐藏工具栏
- Ubuntu 安装调整工具移动 Launcher 启动器位置
- 【正则表达式】IPv4地址的正则匹配
- Android开发笔记(七十八)异常容错处理
- 使用ISA Server 2006发布Exchange Server 2007安全的Web、安全的OWA和Outlook Anyw
- .net 根据银行卡获取银行信息
- windows10小白第一次装,严格参考教程(转)
- 数位板驱动(手绘板驱动),wintab 8192级压感,TabletDriver通用, 支持windows, mac系统
- 贝叶斯自举法(BayesianBootstrap)简介
- 二战三跨考生的血与泪,交大电通两年记录
- 机器学习系列-- 异常检测(Anomaly Detection)
- 【FlashDB】第二步 FlashDB 移植 STM32L475 使用QSPI驱动外部 flash W25Q64之 SFUD 移植
- 工作中遭遇的问题及解决办法
- Android 获取ROOT权限原理介绍和签名验证原理及反编译学习
- CPU时钟周期和时钟频率
- python水果超市管理系统_项目1-水果超市管理系统-学生
- SAP ABAP BP MDS_CTRL_STRATEGY=============CP PPO PPO 处于非活动状态。激活 PPO 指令创建以避免转储。要激活 PPO,请维护
- Flutter实战之坑——按返回键回到手机桌面不退出app