欧拉工程第34题:Digit factorials
来源:互联网 发布:个人网络招商 编辑:程序博客网 时间:2024/06/10 03:46
题目链接:https://projecteuler.net/problem=34
一个数等于各位数字的阶乘,求满足这个条件的数的和。
就两个数:145和40585
上界不知道的时候试大的数,知道结果了,改小点。
java代码:
package projecteuler31to40;import java.util.Date;class level34{ void solve(){ int Max_Value=50000; int allsum=0; int remainder=0; int[] Factorial={1,1,2,6,24,120,720,5040,40320,362880}; for(int i=100;i<=Max_Value;++i){ int num=i; int sum=0; while(num!=0){ remainder=num%10; sum+=Factorial[remainder]; num=num/10; } if(i==sum) { allsum+=i; System.out.println(sum); } } System.out.println(allsum); } long Fact(int num){ if(num==0 ||num==1){ return 1; }else{ return Fact(num-1)*num; } }}public class Problem34 { public static void main(String[] args){ Date beginTime=new Date(); new level34().solve(); Date endTime=new Date(); Long Time=endTime.getTime()-beginTime.getTime(); System.out.println("Time="+Time/1000+"秒"+Time%1000+"毫秒"); }}
5ms
Python代码:
fact=[1,1,2,6,24,120,720,5040,40320,362880]allsum=0for i in range(100,50000): num=i split=0 while num!=0: remid=num%10 split+=fact[remid] num=num//10 if i==split: allsum+=i print iprint allsum
直接根据java代码,写的。。。
0 0
- 欧拉工程第34题:Digit factorials
- 欧拉工程第25题:1000-digit Fibonacci number
- 欧拉工程第30题:Digit fifth powers
- 欧拉工程第33题:Digit cancelling fractions
- [Euler]Problem 34 - Digit factorials
- (Problem 34)Digit factorials
- Problem 34—Digit factorials
- 欧拉项目第16题 Power digit sum
- 欧拉项目 第20题 Factorial digit sum
- 欧拉工程第11题
- 欧拉工程第12题
- 欧拉工程第13题
- 欧拉工程第14题
- 欧拉工程第15题
- 欧拉工程第16题
- 欧拉工程第17题
- 欧拉工程第18题
- 欧拉工程第19题
- [leetcode][array] Pascal's Triangle
- hdoj1285 拓扑排序
- java heap space
- 排序算法,快速排序,希尔排序,冒泡排序
- 文章标题
- 欧拉工程第34题:Digit factorials
- CoreData表关联
- usr/bin/ld: cannot find -l<nameOfTheLibrary>
- 网易OpenStack部署运维实战
- socket通信机制
- FastDFS Storage配置详解
- Linux的SOCKET编程详解
- Android学习记录<四>
- Mac下搭建目前最in的hexo博客