欧拉工程第74题:Digit factorial chains
题目链接: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相关推荐
- 欧拉工程第12题 第一个拥有超过500个约数的三角形数是多少
题目 三角形数序列是由对自然数的连加构造而成的.所以第七个三角形数是1+2+3+4+5+6+7=281+2+3+4+5+6+7=28. 那么三角形数序列中的前十个是: 1,3,6,10,15,21,2 ...
- 欧拉工程第57题:Square root convergents
题目链接 Java程序 package projecteuler51to60;import java.math.BigInteger; import java.util.Iterator; impor ...
- 欧拉工程第三题 找出一个合数的最大质数因子
题目: 13195的质数因子有5,7,13和29. 600851475143的最大质数因子是多少? 解题方法: 本次求解过程使用了一个比较聪明的做法,这也是经过仔细思考之后才想出来的,当然也是受到了某 ...
- 欧拉工程第六题 平方和与和平方的差是多少
题目: 前十个自然数的平方和是: 1^2 + 2^2 + - + 102^2= 385 前十个自然数的和的平方是: (1 + 2 + - + 10)^2 = 552 = 3025 所以平方和与和的平方 ...
- 关于欧拉工程的一道递推题
今天来讲的是在欧拉工程上的一道递推题,题目描述如下链接. 题目:https://projecteuler.net/problem=492 当然,这道题在51Nod上有一个比较通用的版本,链接如下 题目 ...
- 欧拉项目第三题之最大质数因子
13195的质数因子有5,7,13和29. 600851475143的最大质数因子是多少? 这里可以肯定的是:1.数字很大,绝对不能暴力.2.如果这是一到OJ题,那么我们的目的就是尽量缩小这个数,减少 ...
- Java 欧拉工程 第三十一篇【考察英国货币面值的组合问题】
题目: 在英国,货币是由英镑£,便士p构成的.一共有八种钱币在流通: 1p, 2p, 5p, 10p, 20p, 50p, £1 (100p) 和 £2 (200p). 要构造£2可以用如下方法: 1 ...
- 我的欧拉工程之路_3
Largest prime factor Problem 3 The prime factors of 13195 are 5, 7, 13 and 29. What is the largest p ...
- 【欧拉计划第 5 题】最小公倍数 Smallest multiple
Problem 5 Smallest multiple 2520 is the smallest number that can be divided by each of the numbers f ...
- 【欧拉计划第 13 题】 大数之和 Large sum
Problem 13 Large sum Work out the first ten digits of the sum of the following one-hundred 505050-di ...
最新文章
- linux系统进入管理员命令行,Linux的15个命令行别名,帮系统管理员提升工作效率!...
- 浅析Java.lang.ProcessBuilder类
- C++ Primer 5th笔记(chap 13 拷贝控制)引用计数
- 关于定点机中的比例因子
- Android style 继承
- X86逆向教程10:学会使用硬件断点
- 软件的测试文档,软件-测试文档模版.doc
- oracle数据迁移过程中,把表中数据导出为txt文件的三种方法
- 解决微信开发者工具的不信任问题
- oracle lpad函数有中文,oracle lpad函数和rpad函数
- 阿里测开岗定级P7全流程加面试真题
- 4.1 图像的几种色彩模式 [原创Ps教程]
- 常见的WebShell管理工具(top10)
- 用ajax表单全部提交
- 读论文-基于循环gan特征增强的夜间车辆检测 Feature Enhancement Based on CycleGAN forNighttime Vehicle Detection
- 帆软报表文件上传、下载及删除功能
- 从Python爬虫到Spark预处理数据的真实需求[三]
- 网新恒天php,网新恒天,为德邦快递插上数字化翅膀
- vue echarts中改变canvas长和宽 自适应
- 王者荣耀游戏简介-1
热门文章
- 深度学习:Seq2seq模型
- 海量数据挖掘MMDS week3:流算法Stream Algorithms
- php 编码 url,php escape URL编码
- break continue区别和用法_[分享]Python专题之流程控制(进阶用法2)
- 在线开关MySQL5.7 GTID_MySQL 5.7 在线启用和关闭GTID
- map中key值带‘-’转json_h5模型转savedModel + tf_serving部署采坑记录
- Selenium Automated test 's Installation environment
- Harmony OS — Checkbox多选框
- Kotlin — 适用于移动端跨平台
- 洛谷 P2317 [HNOI2005]星际贸易 解题报告