<MEMORY>Project Euler NO43
来源:互联网 发布:有java基础学安卓 编辑:程序博客网 时间:2024/06/07 10:39
1406357289是一个pandigital数,因为它包含了0到9之间每个数字且只包含了一次。此外它还有一个有趣的子串整除性质。
令d1表示其第一位数字,d2表示第二位,以此类推。这样我们可以得到:- d2d3d4=406 能被 2 整除
- d3d4d5=063 能被 3 整除
- d4d5d6=635 能被 5 整除
- d5d6d7=357 能被 7 整除
- d6d7d8=572 能被 11 整除
- d7d8d9=728 能被 13 整除
- d8d9d10=289 能被 17 整除
求所有具有如上性质的0到9pandigital数。
import java.util.Arrays;public class Problem43{public static void main(String[] args){long start = System.currentTimeMillis();System.out.print("answer: ");howmany();long end = System.currentTimeMillis();System.out.print("time: ");System.out.println(end - start);}static int array[] = new int[10];static void howmany(){int qiuyu[] = {2,3,5,7,11,13,17};for (int i = 100; i <= 999; i++){array[0] = i / 100;array[1] = i / 10 % 10;array[2] = i % 10;zuhe(i, qiuyu, 0);}System.out.println(answer);}static long answer = 0;static void zuhe(int n, int qiuyu[], int k){if (k == 7){if (ispandi()){long s = 0;for (int i = 0; i < 10; i++){s = s * 10 + array[i];}answer += s;}return;}for (int i = 0; i <= 9; i++){int temp = (n % 100 * 10 + i);if ( temp % qiuyu[k] == 0 ){array[k + 3] = temp % 10;zuhe(temp, qiuyu, k + 1);}}}static boolean ispandi(){int ch[] = Arrays.copyOf(array, 10);Arrays.sort(ch);for (int i = 0; i < ch.length; i++){if (ch[i] != i){return false;}}return true;}}
answer: 16695334890
time: 143
0 0
- <MEMORY>Project Euler NO43
- <MEMORY>Project Euler NO13
- <MEMORY>Project Euler NO14
- <MEMORY>Project Euler NO15
- <MEMORY>Project Euler NO16
- <MEMORY>Project Euler NO17
- <MEMORY>Project Euler NO18
- <MEMORY>Project Euler NO19
- <MEMORY>Project Euler NO20
- <MEMORY>Project Euler NO21
- <MEMORY>Project Euler NO22
- <MEMORY>Project Euler NO23
- <MEMORY>Project Euler NO24
- <MEMORY>Project Euler NO25
- <MEMORY>Project Euler NO26
- <MEMORY>Project Euler NO27
- <MEMORY>Project Euler NO28
- <MEMORY>Project Euler NO29
- CodeForces 386D Game with Points
- js中this的用法
- Apache Commons 工具集简介
- Windows 7 英文版操作系统中文软件乱码解决方法
- c++ primer 关联容器习题练习
- <MEMORY>Project Euler NO43
- #R#时间序列相关函数
- java的反射总结
- hive安装
- 利用Eclipse查看JDK源码
- java中excel的操作
- nyoj7(中位数的运用)
- 在sublime text 3中搭建C,C++语言开发环境
- Javascript面向对象编程(三):非构造函数的继承