project euler 38
2015-12-04 21:18
363 查看
Problem
38
Pandigital multiplesTake the number 192 and multiply it by each of 1, 2, and 3:
192 × 1 = 192
192 × 2 = 384
192 × 3 = 576
By concatenating each product we get the 1 to 9 pandigital, 192384576. We will call 192384576 the concatenated product of 192 and (1,2,3)
The same can be achieved by starting with 9 and multiplying by 1, 2, 3, 4, and 5, giving the pandigital, 918273645, which is the concatenated product of 9 and (1,2,3,4,5).
What is the largest 1 to 9 pandigital 9-digit number that can be formed as the concatenated product of an integer with (1,2, … ,n) where n > 1?
全数字的倍数
将192分别与1、2、3相乘:
192 × 1 = 192
192 × 2 = 384
192 × 3 = 576
连接这些乘积,我们得到一个1至9全数字的数192384576。我们称192384576为192和(1,2,3)的连接乘积。
同样地,将9分别与1、2、3、4、5相乘,得到1至9全数字的数918273645,即是9和(1,2,3,4,5)的连接乘积。
对于n > 1,所有某个整数和(1,2, … ,n)的连接乘积所构成的数中,最大的1至9全数字的数是多少?
@Test public void test() { Map<Integer, Integer> map = new HashMap<Integer, Integer>(); for( int i = 2; i < 10000; i ++){ String valStr = Integer.toString(i); int n = 1; while( valStr.length() < 9){ valStr = valStr.concat( Integer.toString(i * (++n)) ); } if( checkNum( valStr)){ map.put(i, Integer.valueOf(valStr)); } } int maxVal = 0; int maxId = 0; for( Entry<Integer, Integer> entry : map.entrySet()){ if( entry.getValue() > maxVal){ maxVal = entry.getValue(); maxId = entry.getKey(); } } System.out.println("maxId=" + maxId + " | maxVal=" + maxVal); } private boolean checkNum(String valStr) { if( valStr.length() != 9){ return false; } return valStr.contains("1") && valStr.contains("2") && valStr.contains("3") && valStr.contains("4") && valStr.contains("5") && valStr.contains("6") && valStr.contains("7") && valStr.contains("8") && valStr.contains("9"); }
相关文章推荐
- 53,类方法
- 数组循环语句练习
- Java [Leetcode 39]Combination Sum
- LibSVM C/C++
- project euler 37
- LibSVM C/C++
- hud 2099
- PHPCMS几个有用的全局函数
- hdu1176
- java获取系统时间比实际时间少了8个小时的解决方法
- NYOJ 119士兵杀敌(三)【RMQ裸题】
- EF--.net
- [leetcode] Ugly Number II
- otsu算法---matlab实现,和一种改进算法
- 解压版的Tomcat基本配置和安装
- 双向循环链表的实现
- 大数据时代:生活、工作与思维的大变革(上)
- 复杂链表的复制(C++)
- 一个操作系统的实现(1):分析linux下如何运行一个执行文件
- 开通博客啦