projecteuler
氵冫丶
这个作者很懒,什么都没留下…
展开
-
欧拉工程第23题:Non-abundant sums
题目链接:https://projecteuler.net/problem=23 题目:题目如下:如果一个数的所有真因子之和等于这个数,那么这个数被称为完全数。例如,28的所有真因子之和为1 + 2 + 4 + 7 + 14 = 28,所以28是一个完全数。 如果一个数的所有真因子之和小于这个数,称其为不足数,如果大于这个数,称其为过剩数。12是最小的过剩数,1 + 2 + 3 + 4 + 6原创 2015-05-01 15:47:42 · 888 阅读 · 0 评论 -
欧拉工程第29题:Distinct powers
题目链接:https://projecteuler.net/problem=29a^b for 2 ≤ a ≤ 100 and 2 ≤ b ≤ 100,能产生无重复的数据有多少个? 这个题目其实很简单的,注意一点定义成int、long都会发生越界的,Long只能存储:-2^64+1–2^64-1 所以不要用long,不然错的找不到原因。在java中Math类,可以计算指数,还是要注意这个返回原创 2015-05-05 20:13:53 · 765 阅读 · 0 评论 -
欧拉工程第30题:Digit fifth powers
题目链接:https://projecteuler.net/problem=30 Surprisingly there are only three numbers that can be written as the sum of fourth powers of their digits:1634 = 1^4 + 6^4 + 3^4 + 4^4 8208 = 8^4 + 2^4 + 0^4原创 2015-05-05 21:35:00 · 641 阅读 · 0 评论 -
欧拉工程第26题:Reciprocal cycles
题目链接:https://projecteuler.net/problem=26 题目: A unit fraction contains 1 in the numerator. The decimal representation of the unit fractions with denominators 2 to 10 are given:1/2 = 0.5 1/3 = 0.(原创 2015-05-04 20:19:03 · 598 阅读 · 0 评论 -
欧拉工程第33题:Digit cancelling fractions
题目链接:https://projecteuler.net/thread=33 对两位数字,求满足一定条件的数的乘积 1 ab/bc=a/c 2 ab/cb=a/c 3 ba/bc=a/c 4 ba/cb=a/c给的例子是满足1的,而且还只有四个数,求这四个分数的乘积,最简后的分母是什么?给的例子满足2的,不符合条件感觉上,应该没有满足3的两位数,4 应该满足条件的a范围 1,9 b范围原创 2015-05-20 21:29:41 · 854 阅读 · 0 评论 -
欧拉工程第43题:Sub-string divisibility
题目链接:https://projecteuler.net/problem=430到9的排列所有形成的数中,求满足下来条件的数的和 Let d1 be the 1st digit, d2 be the 2nd digit, and so on. In this way, we note the following:d2d3d4=406 is divisible by 2 d3d4d5=063 i原创 2015-05-26 20:24:30 · 687 阅读 · 0 评论 -
欧拉工程第35题:Circular primes
题目链接:https://projecteuler.net/problem=35 求100万以下循环质数的个数。 注意:97, 79是两个循环质数 下面是两个有点不一样的方法: 方法一:判断这个数是不是质数,如果是,在判断是不是循环质数。 方法二:先把100万以下的质数存在布尔型数组中,是质数是true,再对每个数判断循环质数两个时间都是差不多的在600ms左右 java代码:packa原创 2015-05-21 20:57:53 · 639 阅读 · 0 评论 -
欧拉工程第45题:Triangular, pentagonal, and hexagonal
题目链接:https://projecteuler.net/problem=45 Triangle, pentagonal, and hexagonal numbers are generated by the following formulae:三角数Triangle Tn=n(n+1)/2 1, 3, 6, 10, 15, … 五角数Pentagonal Pn=原创 2015-05-29 21:34:39 · 727 阅读 · 0 评论 -
欧拉工程第46题:Goldbach's other conjecture
题名链接:https://projecteuler.net/problem=46奇合数=质数+2*平方数求第一个不满足这个条件的奇合数合数:除1和本身外,可以被其他数整除的数 质数:除1和本身外,不能够被其他数整除 奇合数:奇数的合数知道上面概念了就好求了。 Java 代码:package projecteuler41to50;import java.util.Date;class level原创 2015-05-30 21:29:20 · 577 阅读 · 0 评论 -
欧拉工程第44题:Pentagon numbers
题目链接:https://projecteuler.net/problem=45 题意: Pn=n(3n−1)2 Pn=\frac{n(3n-1)}{2},满足这个通项的数,pi pj,如果 pi pj 的和差也在这个通项中,则求出最小的 pi-pj思路: 题目很简单的,最主要的问题是,如何确定上界,上界过大时间运行比较长。 先不考虑上界问题: 1.求pi,求pj 2.判断pi+p原创 2015-05-29 20:08:42 · 1082 阅读 · 0 评论 -
欧拉工程第49题:Prime permutations
题目链接:https://projecteuler.net/problem=49等间距的三个四位数的质数,并且这四个质数包含同样的数字,求第二个满足条件的数暴力Java代码:package projecteuler41to50;import java.util.Date;import java.util.Set;import java.util.TreeSet;class level49{原创 2015-06-03 19:43:36 · 685 阅读 · 0 评论 -
欧拉工程第47题:Distinct primes factors
题目链接:https://projecteuler.net/index.php?section=problems&id=47 题意: 最小的四个具有四个不同质数因子的整数,求出最小的这个数,这个四个数是连续的注意: 1.四个不同的质因子,不是说是四个质因子,要去重可以暴力破解的Java代码:package projecteuler41to50;import java.util.Date;cla原创 2015-06-03 19:30:55 · 832 阅读 · 0 评论 -
欧拉工程第50题:Consecutive prime sum
题目链接:https://projecteuler.net/problem=50一个质数是连续质数的和,求小于一百万的这个最长的质数和的数。不会 网上找的结果 在题解论坛又找的代码Java代码:package projecteuler41to50;import java.math.BigInteger;import java.util.ArrayList;import java.util.A原创 2015-06-03 21:53:10 · 761 阅读 · 0 评论 -
欧拉工程第42题:Coded triangle numbers
题目链接:https://projecteuler.net/problem=42 三角形数序列中第 n 项的定义是: tn = ½n(n+1) 26个字母对应其依次出现的顺序,如A:1,B:2 如果一个单词,各个字母对应数字之和在三角形数序列中,则这个单词是三角形单词。 求给的txt文件中有多少个单词 思路: 1.读取txt文件 2.判断是否是三角形单词 3.统计个数如何判断是三角形原创 2015-05-25 18:46:09 · 753 阅读 · 0 评论 -
欧拉工程第48题:Self powers
题目链接: 1^1 + 2^2 + 3^3 + … + 1000^1000 结果的后十位数solve0 用的是Java中的大数运行直接求出结果,再取后十位 solve1 对每个i^i对10000000000求模,所有的模求和,这样还要对10000000000求模,因为第一次模的和超过了10位数,所有不是程序错了,而是一个很小的问题你没有注意 solve2 是根据模幂运算,速度很快的原创 2015-06-03 19:39:38 · 542 阅读 · 0 评论 -
欧拉工程第27题:Quadratic primes
题目链接:https://projecteuler.net/problem=27 n² + an + b, where |a| < 1000 and |b| < 1000 对上面的表达式,连续的输入0–n,求能产生最多素数的a和b,让求得是a*b 思路: 1.暴力破解 注意: 1.第一个素数是b,b一定大于零,而且是素数 2.以后的数也必须要判断大于零,不然错的找不到原因package原创 2015-05-05 19:05:24 · 952 阅读 · 0 评论 -
欧拉工程第28题:Number spiral diagonals
题目链接:https://projecteuler.net/problem=28这是个找规律的题目,找到规律就能写出来。 开始自己找的规律很复杂,复制的规律有问题。 后来看到下面的规律: 在题解中截的图 注意: 1.这里的n是1、3、5、7、9。。。 找规律不是根据1、2、3、4,不是根据第几圈的找好找点。 四个数都知道了 求和 再遍历,从3开始,1不满足package pro原创 2015-05-05 19:18:22 · 766 阅读 · 0 评论 -
欧拉工程第17题
题目链接:https://projecteuler.net/problem=17 求1-1000 的英语单词,字母个数之和 ,下面方法来自网络,注释已经很详细。package projecteuler11to20;import java.util.Date;class level17{ void solve(){ String[] nums={"","one","two","th原创 2015-04-29 21:09:23 · 600 阅读 · 0 评论 -
欧拉工程第15题
题目链接:https://projecteuler.net/problem=11package projecteuler11to20;import java.util.Date;class level15{ void solve(){ int ncol=20; int nrow=20; long[][] array=new long[nro原创 2015-04-28 22:10:29 · 582 阅读 · 0 评论 -
欧拉工程第14题
题目链接:https://projecteuler.net/problem=14package projecteuler11to20;import java.util.Date;class level14{ void solve(){ long starNum=1000000; int len=1; int maxlength=len;原创 2015-04-28 22:10:07 · 495 阅读 · 0 评论 -
欧拉工程第19题
题目链接:https://projecteuler.net/problem=19 求:1901-2000年内,每月的一号是星期天的总天数。 注意题目: 1.1901年开始 2.星期日 3.题目说1900.1.1是星期一,求解的不是星期一,也不是从1900年开始的思路: 1.年,月,是否星期日,主要这三个就好了。 2.判断是不是闰年 3.从1901年开始 4.先找出每个月的1号距19原创 2015-04-30 19:46:34 · 583 阅读 · 0 评论 -
欧拉工程第25题:1000-digit Fibonacci number
题目链接:https://projecteuler.net/problem=26求Fibonacci数列中数有1000位的下表。 大数,当然要用到BigInteger 这个就很简单了。位数是1000位的那个数是:107006626638275893676498058445739688508368389663215166501323520337531452060469404062188914758原创 2015-05-01 16:56:58 · 683 阅读 · 0 评论 -
欧拉工程第24题:Lexicographic permutations
题目链接:https://projecteuler.net/problem=24 题意:0123456789我们知道有10!个不同的排序,如果按字典排序,求第1000000个数字是多少?这题用笔和纸即可完成,只是有点麻烦了,首先确定第一位,0开头的一共有9!个排序,1….9同样,所以,第一个数字可确定为999999/9!,即为2。等同于求013456789的第(999999-2 * 9!)位的排序原创 2015-05-01 16:29:19 · 672 阅读 · 0 评论 -
欧拉工程第22题:Names scores
题目链接:https://projecteuler.net/problem=23 对文件夹中的名字求总得分。 求分方法: 1.对文件排序 2.字母值 * 排序后的名字所在的位置 注意: 字母值:例如:abs =1+2+3=6思路: 1.读取文件:开始读取文件用split(“,”)以逗号划分成字符串数组,但是每个名字的双引号还在的,对后面的排序影响比较大,在网上看到这个line.repl原创 2015-05-01 09:52:14 · 467 阅读 · 0 评论 -
欧拉工程第21题:Amicable numbers
题目链接:https://projecteuler.net/problem=21 求:1000一下所有亲数之和 能被a整除的数字是和是b,能够b整除的数字之和是a,且a!=b,则a,b是亲数。 思路: 1.先求出亲数的和 2.遍历1-1000 2.除以2就是结果,因为亲数的两个数不相等,在遍历的过程中没个数都重复package projecteuler21to30;import jav原创 2015-05-01 08:48:28 · 580 阅读 · 0 评论 -
欧拉工程第13题
题目链接:https://projecteuler.net/problem=13package projecteuler11to20;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.util.Date;clas原创 2015-04-28 22:07:41 · 556 阅读 · 0 评论 -
欧拉工程第18题
题目链接:https://projecteuler.net/problem=18 求从根节点到叶子节点路径的最大值。 这个自己不会做,参考网上的方法写了出来。 读取文件不知道为什么是txt的时候读取的输入有丢失,只有为什么,我也想知道。,最终手工输入Excel表格中,读取csv文件。。。这样就不会错误了。 思路: 1.输入可以看成是个倒三角形 2.从下面向上加,把大的值驾到上面一行 3原创 2015-04-30 19:42:20 · 765 阅读 · 0 评论 -
欧拉工程第20题
题目链接:https://projecteuler.net/problem=20 求100!的各位数字之和 第11题的方法直接拿来用也可以。 solve2用java的import java.math.BigInteger,这个包也可以,这个比较简单,我对着不熟悉,不对,我对java 也不熟悉的。solve() 这个要40ms solve2()这个只要2ms 时间差距还是很大的package原创 2015-04-30 20:19:12 · 530 阅读 · 0 评论 -
欧拉工程第11题
题目链接:https://projecteuler.net/problem=10package projecteuler11to20;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.util.StringToke原创 2015-04-28 22:04:19 · 784 阅读 · 0 评论 -
欧拉工程第32题:Pandigital product sum
题目链接:https://projecteuler.net/problem=32 题意:a*b=c 如果a、b、c三个数包含了1-9九个数字,则求出所有的C的乘积(C不能有重复的 ),如:39 × 186 = 7254如果对a、b分别1-987654321两个for循环时间太长,不可取,太暴力。要先判定a、b、c的取值范围在进行计算。 若a是1位数字,最大:9,则b最大是4位数字:9876,c最原创 2015-05-12 17:28:46 · 613 阅读 · 0 评论 -
欧拉工程第16题
题目链接:https://projecteuler.net/problem=16 求2的1000次方各位数字之和。 思路: 1.数据很大,不能直接计算,用字符串来解决问题 2.先求出2的1000次方,存在字符串中 2.1 字符串的乘法,本题只是一个字符串乘以一个0-9的数字(2),长字符串乘以个位数 2.2表面上很简单的。各位分别乘以2,结果大于9的进位,在链接成一个新的字符串。但是注意原创 2015-04-29 20:15:49 · 611 阅读 · 0 评论 -
欧拉工程第12题
题目链接:https://projecteuler.net/problem=12package projecteuler11to20;import java.util.Date;class level12{ void solve(){ long num=1; int index=500; num=Divisor(index);原创 2015-04-28 22:06:18 · 637 阅读 · 0 评论 -
欧拉工程第31题:Coin sums
题目链接:https://projecteuler.net/problem=31 把200拆成1、2、5、10、20、50、100、200的组合,看有多少种组合方式。 暴力破解,时间有点长package projecteuler31to40;import java.util.Date;class level31{ void solve2(){//11秒13毫秒 int n原创 2015-05-12 15:14:06 · 614 阅读 · 0 评论