题目链接

五个数,任意两个数的任意链接后的数还是质数

满足这个条件的最小五个数的和是多少?

结果:26033

纯暴力破解:

package projecteuler51to60;

import java.util.ArrayList;
import java.util.List;
import java.util.TreeSet; class level60{
void solve1(){
List<Integer> primes = new ArrayList<>();
int Max = 10000; boolean flag=true;
primes.add(3);
int nextPrime = 3;
while(primes.size()!=5){
// System.out.println(nextPrime); nextPrime = nextPrimes(nextPrime);
flag=true;
for(int i=0;i<primes.size();i++){
if(concatPrime(primes.get(i),nextPrime) ==false){
flag = false;
}
}
if(nextPrime>Max && flag==true){
primes.add(nextPrime);
// System.out.println(nextPrime);
}
if(nextPrime>Max){
System.out.println(primes.size());
int temp = primes.remove(primes.size()-1);
primes.add(temp);
}
}
int sum=0;
for(int i=0;i<primes.size();i++){
sum+=primes.get(i);
System.out.println(primes.get(i)+" ");
}
}
int nextPrimes(int a){
for(int i = a+1;;i++)
if(isPrime(i))
return i;
}
void solve0(){
int Max =10000;
boolean[] primeArray = new boolean[Max]; for(int i=1;i<Max;i++)
if(isPrime(i))
primeArray[i]= true;
else primeArray[i]=false;
for(int i=3;i<Max;i=i+2){
int a=i;
if(isPrime(a)){
for(int b=a+2;b<Max;b=b+2){
if(isPrime(b) &&concatPrime(a,b)){
for(int c=b+2;c<Max;c=c+2){
if(isPrime(c) && concatPrime(a,c) &&concatPrime(b,c)){
for(int d=c+2;d<Max;d=d+2){
if(isPrime(d)&&concatPrime(a,d) &&concatPrime(b,d) &&concatPrime(c,d)){
for(int e=d+2;e<Max;e=e+2){
if(isPrime(e) &&concatPrime(a,e) &&concatPrime(b,e) &&concatPrime(c,e)&&concatPrime(d,e)){
System.out.println(a+b+c+d+e);
System.out.println(a+" "+b+" "+c+" "+d+" "+e);
return;
}
}
}
}
}
}
}
}
}
}
}
boolean concatPrime(int a,int b){
String digit1=String.valueOf(b)+String.valueOf(a);
String digit2=String.valueOf(a)+String.valueOf(b);
if(isPrime(Integer.parseInt(digit1)) &&isPrime(Integer.parseInt(digit2)))
return true;
return false;
} boolean isPrime(int num){
if(num==2||num==3 ||num==5||num==7) return true;
if(num<2 || num%2==00) return false;
for(int i=3;i<=Math.sqrt(num);i++)
if(num%i==0)
return false;
return true;
} }
public class Problem60 { public static void main(String[] args){
long begin= System.currentTimeMillis();
new level60().solve0();
long end = System.currentTimeMillis();
long Time = end - begin;
System.out.println("Time:"+Time/1000+"s"+Time%1000+"ms");
} }

欧拉工程第60题:Prime pair sets的更多相关文章

  1. 欧拉工程第69题:Totient maximum

    题目链接 欧拉函数φ(n)(有时也叫做phi函数)可以用来计算小于n 的数字中与n互质的数字的个数. 当n小于1,000,000时候,n/φ(n)最大值时候的n. 欧拉函数维基百科链接 这里的是p是n ...

  2. 欧拉工程第70题:Totient permutation

    题目链接 和上面几题差不多的 Euler's Totient function, φ(n) [sometimes called the phi function]:小于等于n的数并且和n是互质的数的个 ...

  3. 欧拉工程第51题:Prime digit replacements

    题目链接 题目: 通过置换*3的第一位得到的9个数中,有六个是质数:13,23,43,53,73和83. 通过用同样的数字置换56**3的第三位和第四位,这个五位数是第一个能够得到七个质数的数字,得到 ...

  4. 欧拉工程第54题:Poker hands

    package projecteuler51to60; import java.awt.peer.SystemTrayPeer; import java.io.BufferedReader; impo ...

  5. 欧拉工程第67题:Maximum path sum II

    By starting at the top of the triangle below and moving to adjacent numbers on the row below, the ma ...

  6. 欧拉工程第66题:Diophantine equation

    题目链接 脑补知识:佩尔方差 上面说的貌似很明白,最小的i,对应最小的解 然而我理解成,一个循环的解了,然后就是搞不对,后来,仔细看+手工推导发现了问题.i从0开始变量,知道第一个满足等式的解就是最小 ...

  7. 欧拉工程第65题:Convergents of e

    题目链接 现在做这个题目真是千万只草泥马在心中路过 这个与上面一题差不多 这个题目是求e的第100个分数表达式中分子的各位数之和 What is most surprising is that the ...

  8. 欧拉工程第74题:Digit factorial chains

    题目链接:https://projecteuler.net/problem=74 数字145有一个著名的性质:其所有位上数字的阶乘和等于它本身. 1! + 4! + 5! = 1 + 24 + 120 ...

  9. 欧拉工程第56题:Powerful digit sum

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

随机推荐

  1. 使用JavaScript实现弹出层效果

    声明 阅读本文需要有一定的HTML.CSS和JavaScript基础 设计 实现弹出层效果的思路非常简单:将待显示的内容先隐藏,在触发某种条件后(如点击按钮),将原本隐藏的内容显示出来. 实现 < ...

  2. Win7下MongoDB安装

    一.下载MongoDB 下载地址:http://www.mongodb.org/downloads 注意:1.从2.2开始,MongoDB不再支持windows xp. 2.32位MongoDB最大支 ...

  3. [大牛翻译系列]Hadoop(10)MapReduce 性能调优:诊断reduce性能瓶颈

    6.2.3 Reduce的性能问题 Reduce的性能问题有和map类似的方面,也有和map不同的方面.图6.13是reduce任务的具体的执行各阶段,标识了可能影响性能的区域. 这一章将介绍影响re ...

  4. trade 1.0 开源工具

    dapper.net T4PocoGenerator/ Dapper.ColumnMapper 参考链接: http://blog.csdn.net/ymnets/article/details/85 ...

  5. 使用jQuery获取GridView的数据行的数量

    一个同事在群里抛出了上述的问题,另一个同事给出了答案,试了一下,还不错.贴出代码和效果图: <html xmlns="http://www.w3.org/1999/xhtml" ...

  6. 在Centos7上安装漏洞扫描软件Nessus

    本文摘要:简单叙述了在Centos7上安装Nessus扫描器的过程   Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件,Nessus的用户界面是基于Web界面来访问Nessus漏洞扫描器 ...

  7. Python-Day5 常用模块学习

    一.模块介绍 通俗点说,就是把常用的一些功能单独放置到一个.py文件中,方便其他文件来调用,这样的一个文件可以称为一个模块. 模块分为三种: 自定义模块 内置标准模块(又称标准库) 开源模块 二.导入 ...

  8. jquery冒泡及阻止

    javascript, jquery的事件中都存在事件冒泡和事件捕获的问题,下面将两种问题及其解决方案做详细总结. 事件冒泡是一个从子节点向祖先节点冒泡的过程: 事件捕获刚好相反,是从祖先节点到子节点 ...

  9. 多实例MySQL批量添加用户和密码并授权

    OS:Cent OS 6.3 DB:5.5.14 如果一台服务器上有100个MySQL数据库实例,此时需要给不同端口的几个数据库添加用户名.密码并授权应用IP,一个个授权没问题,反正累的不是我,哇咔咔 ...

  10. Visual Assist X破解方法

    VC2008的破解方法:使用2008的朋友我就不多说了,直接拷贝到你选择的那个安装目录去,例如 C:\Program Files\Visual Assist\ ,直接运覆盖VA_X.dll 即可VC2 ...