题目链接:https://projecteuler.net/problem=74

数字145有一个著名的性质:其所有位上数字的阶乘和等于它本身。

1! + 4! + 5! = 1 + 24 + 120 = 145

169不像145那么有名,但是169可以产生最长的能够连接回它自己的数字链。事实证明一共有三条这样的链:

169 --> 363601 -->  1454 -->  169
871 -->  45361 -->  871
872 -->  45362 -->  872

不难证明每一个数字最终都将陷入一个循环。例如:

69 -->  363600-->  1454 -->  169 -->  363601 (-->  1454)
78-->  45360-->  871 -->  45361 (-->  871)
540-->  145 (-->  145)

从69开始可以产生一条有5个不重复元素的链,但是以一百万以下的数开始,能够产生的最长的不重复链包含60个项。

一共有多少条以一百万以下的数开始的链包含60个不重复项?

import java.util.TreeSet;public class P74{void run(){int max_n=1000000;TreeSet<Long> ts = new TreeSet<Long>();int count=0;long num=0;int len=0;for(int i=69;i<max_n;i++){ts.clear();num = i;len = 0;while(ts.add(num)==true){len++;num=digitFact(num);}if(len ==60)count++;}System.out.println(count);}
//    402
//    13s9mslong digitFact(long num){long result = 0;while(num!=0){result += Factorial(num%10);num/=10;}return result;}long Factorial(long l){long fact = 1;for(int i =1;i<=l;i++)fact*=i;return fact;}public static void main(String[] args){long t0 = System.currentTimeMillis();new P74().run();long t1= System.currentTimeMillis();System.out.println((t1-t0)/1000+"s"+(t1-t0)%1000+"ms");}
}

欧拉工程第74题:Digit factorial chains相关推荐

  1. 欧拉工程第12题 第一个拥有超过500个约数的三角形数是多少

    题目 三角形数序列是由对自然数的连加构造而成的.所以第七个三角形数是1+2+3+4+5+6+7=281+2+3+4+5+6+7=28. 那么三角形数序列中的前十个是: 1,3,6,10,15,21,2 ...

  2. 欧拉工程第57题:Square root convergents

    题目链接 Java程序 package projecteuler51to60;import java.math.BigInteger; import java.util.Iterator; impor ...

  3. 欧拉工程第三题 找出一个合数的最大质数因子

    题目: 13195的质数因子有5,7,13和29. 600851475143的最大质数因子是多少? 解题方法: 本次求解过程使用了一个比较聪明的做法,这也是经过仔细思考之后才想出来的,当然也是受到了某 ...

  4. 欧拉工程第六题 平方和与和平方的差是多少

    题目: 前十个自然数的平方和是: 1^2 + 2^2 + - + 102^2= 385 前十个自然数的和的平方是: (1 + 2 + - + 10)^2 = 552 = 3025 所以平方和与和的平方 ...

  5. 关于欧拉工程的一道递推题

    今天来讲的是在欧拉工程上的一道递推题,题目描述如下链接. 题目:https://projecteuler.net/problem=492 当然,这道题在51Nod上有一个比较通用的版本,链接如下 题目 ...

  6. 欧拉项目第三题之最大质数因子

    13195的质数因子有5,7,13和29. 600851475143的最大质数因子是多少? 这里可以肯定的是:1.数字很大,绝对不能暴力.2.如果这是一到OJ题,那么我们的目的就是尽量缩小这个数,减少 ...

  7. Java 欧拉工程 第三十一篇【考察英国货币面值的组合问题】

    题目: 在英国,货币是由英镑£,便士p构成的.一共有八种钱币在流通: 1p, 2p, 5p, 10p, 20p, 50p, £1 (100p) 和 £2 (200p). 要构造£2可以用如下方法: 1 ...

  8. 我的欧拉工程之路_3

    Largest prime factor Problem 3 The prime factors of 13195 are 5, 7, 13 and 29. What is the largest p ...

  9. 【欧拉计划第 5 题】最小公倍数 Smallest multiple

    Problem 5 Smallest multiple 2520 is the smallest number that can be divided by each of the numbers f ...

  10. 【欧拉计划第 13 题】 大数之和 Large sum

    Problem 13 Large sum Work out the first ten digits of the sum of the following one-hundred 505050-di ...

最新文章

  1. linux系统进入管理员命令行,Linux的15个命令行别名,帮系统管理员提升工作效率!...
  2. 浅析Java.lang.ProcessBuilder类
  3. C++ Primer 5th笔记(chap 13 拷贝控制)引用计数
  4. 关于定点机中的比例因子
  5. Android style 继承
  6. X86逆向教程10:学会使用硬件断点
  7. 软件的测试文档,软件-测试文档模版.doc
  8. oracle数据迁移过程中,把表中数据导出为txt文件的三种方法
  9. 解决微信开发者工具的不信任问题
  10. oracle lpad函数有中文,oracle lpad函数和rpad函数
  11. 阿里测开岗定级P7全流程加面试真题
  12. 4.1 图像的几种色彩模式 [原创Ps教程]
  13. 常见的WebShell管理工具(top10)
  14. 用ajax表单全部提交
  15. 读论文-基于循环gan特征增强的夜间车辆检测 Feature Enhancement Based on CycleGAN forNighttime Vehicle Detection
  16. 帆软报表文件上传、下载及删除功能
  17. 从Python爬虫到Spark预处理数据的真实需求[三]
  18. 网新恒天php,网新恒天,为德邦快递插上数字化翅膀
  19. vue echarts中改变canvas长和宽 自适应
  20. 王者荣耀游戏简介-1

热门文章

  1. 深度学习:Seq2seq模型
  2. 海量数据挖掘MMDS week3:流算法Stream Algorithms
  3. php 编码 url,php escape URL编码
  4. break continue区别和用法_[分享]Python专题之流程控制(进阶用法2)
  5. 在线开关MySQL5.7 GTID_MySQL 5.7 在线启用和关闭GTID
  6. map中key值带‘-’转json_h5模型转savedModel + tf_serving部署采坑记录
  7. Selenium Automated test 's Installation environment
  8. Harmony OS — Checkbox多选框
  9. Kotlin — 适用于移动端跨平台
  10. 洛谷 P2317 [HNOI2005]星际贸易 解题报告