凑算式

B DEF
A + --- + ------- = 10
C GHI

(如果显示有问题,可以参见【图1.jpg】)

这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。

比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。

这个算式一共有多少种解法?

注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。

  显然可以用暴力算法,但是需要排除元素的重复问题,刚开始我用的是Java内置的Set集合,运行时间特别长

package lanqiao2016;

import java.util.concurrent.ConcurrentSkipListSet;

public class T3_array {
public static void main(String[] args) {
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
int f = 0;
int g = 0;
int h = 0;
int i = 0;
int count = 0; ConcurrentSkipListSet<Integer> intSet = new ConcurrentSkipListSet<Integer>(); for(a=1; a<=9; a++)
{
if(a > 10)
continue;
for(b=1; b<=9; b++)
{
for(c=1; c<=9; c++)
{
if(a + b/c > 10)
continue;
for(d=1; d<=9; d++)
{
for(e=1; e<=9; e++)
{
for(f=1; f<=9; f++)
{
for(g=1; g<=9; g++)
{
for(h=1; h<=9; h++)
{
for(i=1; i<=9; i++)
{
intSet.clear();
intSet.add(a);
intSet.add(b);
intSet.add(c);
intSet.add(d);
intSet.add(e);
intSet.add(f);
intSet.add(g);
intSet.add(h);
intSet.add(i);
if(a + (double)b/c + (double)(d*100+e*10+f)/(double)(g*100+h*10+i) == 10
&& intSet.size() == 9)
{
count++;
} }
}
}
}
}
}
}
}
} System.out.println(count);
}
}

  

  后来改成直接的逻辑判断,几乎瞬间得出结果

package lanqiao2016;

public class T3 {
public static void main(String[] args) {
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
int f = 0;
int g = 0;
int h = 0;
int i = 0;
int count = 0; for(a=1; a<=9; a++)
{
if(a > 10)
continue;
for(b=1; b<=9; b++)
{
for(c=1; c<=9; c++)
{
if(a + b/c > 10)
continue;
for(d=1; d<=9; d++)
{
for(e=1; e<=9; e++)
{
for(f=1; f<=9; f++)
{
for(g=1; g<=9; g++)
{
for(h=1; h<=9; h++)
{
for(i=1; i<=9; i++)
{
if(
a==b || a==c || a==d || a==e || a==f || a==g || a==h || a==i ||
b==c || b==d || b==e || b==f || b==g || b==h || b==i ||
c==d || c==e || c==f || c==g || c==h || c==i ||
d==e || d==f || d==g || d==h || d==i ||
e==f || e==g || e==h || e==i ||
f==g || f==h || f==i ||
g==h || g==i ||
h==i
)
continue; if(a + (double)b/c + (double)(d*100+e*10+f)/(double)(g*100+h*10+i) == 10)
{
count++;
} }
}
}
}
}
}
}
}
} System.out.println(count);
}
}

  

最新文章

  1. kmdjs集成uglifyjs2打造极致的编程体验
  2. Centos7无法上网
  3. c++继承,多态,重载的作用
  4. VB6.0手册
  5. [HAOI2006]聪明的猴子
  6. Linux 之 rsyslog 系统日志转发(转载)
  7. 使用python程序监控云服务器的带宽
  8. Excel 文件转 JSON格式对象
  9. OpenCV4.0学习笔记
  10. 西安活动 | 9月15号 &quot;拥抱开源, 又见.NET&quot; 线下交流活动
  11. CSS布局---居中方法
  12. 洛谷P2085最小函数值题解
  13. Confluence 6 管理站点模板
  14. Django-组件拾遗
  15. 深入理解CSS绝对定位absolute
  16. Mycat源码中的单例模式
  17. swing 下拉菜单
  18. shell加密工具shc的安装和使用
  19. win Server 2008 笔记
  20. HBase Compaction详解

热门文章

  1. Scrum.自用SCRUM项目开发流程
  2. 开发者必须要了解的架构技术趋势:Service Mesh
  3. 异数OS-织梦师-PBFT(六) 走出区块链,加速破解PBFT
  4. springboot的yml不显示的原因
  5. ①CM+CDH6.2.0安装(全网最全)
  6. ReactNative---android系统中Image组件无默认图片问题
  7. hashlib 模块的用法
  8. 使用visual studio 2013读取.mat文件
  9. 实验10: RIP
  10. Grevl旅游注册的初步界面,以源代码和运行图片展示