欧拉工程第47题:Distinct primes factors
2015-06-03 19:30
393 查看
题目链接:https://projecteuler.net/index.php?section=problems&id=47
题意:
最小的四个具有四个不同质数因子的整数,求出最小的这个数,这个四个数是连续的
注意:
1.四个不同的质因子,不是说是四个质因子,要去重
可以暴力破解的
Java代码:
package projecteuler41to50; import java.util.Date; class level47{ void solve0(){ int Max_Value=1000000; int[] primes=new int[999]; primes[0]=2; int j=1; for(int i=3;i<999;i=i+2){ if(isPrime(i)) primes[j++]=i; } for(int i=20;i<Max_Value;i++){ if(Judge(i,primes,j) && Judge(i+1,primes,j) && Judge(i+2,primes,j)&&Judge(i+3,primes,j)){ System.out.println(i); return; } }//134043 } boolean Judge(int num,int[] primes,int n){ boolean flag=false; int count=0; for(int i=0;i<n;i++){ while(num%primes[i]==0){ flag=true; num/=primes[i]; }// 去除这个质数的n次方 ,去重 if(flag==true) { flag=false; count++; // System.out.println(primes[i]); } if(count>4) return false; } if(count==4) return true; return false; } boolean isPrime(int num){ if(num==2 ||num==3||num==5||num==7||num==11||num==13) return true; if(num<2||num%2==0) return false; for(int i=3;i<=Math.sqrt(num);++i) if(num%i==0) return false; return true; } } public class Problem47 { public static void main(String[] args){ Date beginTime=new Date(); new level47().solve0(); Date endTime=new Date(); long Time=endTime.getTime()-beginTime.getTime(); System.out.println("Time:"+Time/1000+"s"+Time%1000+"ms"); } }
结果:
134043 Time:0s131ms
相关文章推荐
- 进程与线程
- Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
- OpenCV学习笔记07--用滚动条控制图片缩放
- SSIS:使用自定义的变量 改变 原有数据库连接的相应参数的值
- PopupWindow的使用
- Jquery基础(六) js方法清空cookie的各种方法
- Linux 驱动之内核定时器
- 三角形的面积
- (leetcode)
- 如何移除 iTunes Connect 上上传的APP构建版本
- The file “Pods.xcconfig” couldn’t be opened because there is no such file.
- ubuntu中安装搜狗拼音输入法
- android ViewPager+FragmentStatePagerAdapter无限循环FragmentStatePagerAdapter
- Linux中如何创建静态库和动态库
- poj 2531
- 【BOI2007】【BZOJ1176】Mokia
- 用js实现类数组转换为数组
- (leetcode)Excel Sheet Column Title
- [菜鸟试水]关于Nodejs搭建后台API服务(Mysql-Restify)
- 笔记---c++ primer——struct(一)