- 博客(31)
- 收藏
- 关注
原创 我的欧拉工程之路简介
欧拉工程是一个在线解题网站。目前有563题,由简入难。每个题目都可以用计算机在1分钟内出结果,不过这句话是写在03年左右的,现在的电脑不需要那么久。如果你在解题过程中发现你的程序跑了半个小时,那么你就要考虑你的算法的效率问题了。欧拉工程是一个很考验算法的网站,如果你想锻炼你的算法能力,那么可以点击上一段中的蓝字超链接跳转。
2016-10-13 15:46:48 1644
原创 Java工具类-素数类
个人比较喜欢算法,在日常解题过程中,经常遇到各种跟素数有关的问题。为了方便未来使用,总结创建了素数类。这个素数类本身维护一个从2开始的素数数组。初始化时创建一个长度为1000的素数数组。下面是java源代码。对这个素数类有什么建议的可以在评论区提,我也在努力完善它。
2016-09-26 17:57:36 2323
原创 安卓应用查询硬盘可用空间与df查询不一致的研究结果
现象描述基于安卓平台的机顶盒,在搭载一块大小为2.8T的硬盘时,df命令查看可用空间为164G,但采用安卓API查看可用空间仅为24G。测试步骤1.写一个测试程序,不断地向硬盘里写入东西,检测安卓应用读到的24G可用空间是否真实可靠。 2.在测试程序读到可用空间为10M时,再尝试写入一个100M的文件,安卓抛出写入异常。此时,df命令查看的可用空间为140G,而测试程序读到的可用空间为0。在测试程
2017-07-13 09:38:00 1157 1
原创 欧拉工程第30题 找出所有能够写成各位数字5次方之和的数之和
题目 令人惊奇的,只有三个数能够写成它们各位数的四次方之和: 1634= 1^{4} + 6^{4} + 3^{4} + 4^{4} 8208= 8^{4} + 2^{4} + 0^{4} + 8^{4} 9474= 9^{4} + 4^{4} + 7^{4} + 4^{4}
2016-10-25 23:39:24 813
原创 欧拉工程第28题 1001×1001的螺旋中两条对角线之和是多少
题目 从数字1开始向右顺时针方向移动,可以得到如下的5×5的螺旋: 21 22 23 24 25 20 7 8 9 10 19 6 1 2 11 18 5 4 3 12 17 16 15 14 13 可以算出对角线上数字之和是101. 1001×1001的螺旋中对角线上数字之和是多少?解题方法本题很简单,就是
2016-10-25 23:05:09 484
原创 欧拉工程第27题 找出为连续数字产生最多质数的二次公式
题目 欧拉曾发表过一个著名的二次公式: n²+n+41n² + n + 41 这个公式对于0到39的连续数字能够产生40个质数。但是当 n=40n = 40时,402+40+41=40(40+1)+>41402 + 40 + 41 = 40(40 + 1) + >41能够被41整除。当n=41n = 41时, 41²+41+4141² + 41 + 41显然也能被41整除。
2016-10-25 22:17:36 485
原创 欧拉工程第26题 找出小于1000的数字中令1/d拥有最长循环圈的数字d
题目 分子为1的分数称为单分数。分母是2到10的单分数用十进制表示如下: 1/2 = 0.5 1/3 = 0.(3) 1/4 = 0.25 1/5 = 0.2 1/6 = 0.1(6) 1/7 = 0.(142857) 1/8 = 0.125 1/9 = 0.(1) 1/10 = 0.1 其
2016-10-25 21:31:14 531
原创 欧拉工程第25题 第一个包含1000位数字的斐波那契数列项是第几项
题目 以下是斐波那契数列的递归定义: Fn=Fn−1+Fn−2,F1=1,F2=1. 那么前12项为: F1=1F_{1} = 1 F2=1F_{2} = 1 F3=2F_{3} = 2 F4=3F_{4} = 3 F5=5F_{5} = 5 F6=
2016-10-25 09:38:11 945
原创 欧拉工程第24题 0,1,2,3,4,5,6,7,8,9的第100万个字典排列是什么
题目 排列是一个物体的有序安排。例如3124是1,2,3,4的一种排列。如果所有的排列按照数值或者字母序排序,我们称其为一个字典序。0,1,2的字典排列有: 012,021,102,120,201,210 0,1,2,3,4,5,6,7,8,90, 1, 2, 3, 4, 5, 6, 7, 8,9的第100万个字典排列
2016-10-25 00:09:48 1590
原创 欧拉工程第23题 算出所有不能写成两个过剩数之和的正整数之和
题目 如果一个数的所有真因子之和等于这个数,那么这个数被称为完全数。例如,28的所有真因子之和为1+2+4+7+14=281 + 2 + 4 + 7 + 14 = 28,所以28是一个完全数。 如果一个数的所有真因子之和小于这个数,称其为不足数,如果大于这个数,称其为过剩数。 12是最小的过剩数,1+2+3+4+6=161 + 2 + 3 + 4 + 6 = 16。因此最小的
2016-10-24 20:52:23 597
原创 欧拉工程第22题 文件中所有名字的得分之和是多少
题目 文件names.txt (右键另存为)是一个46K大小的文本文件,包含5000多个英文名字。利用这个文件,首先将文件中的名字按照字母排序,然后计算每个名字的字母值,最后将字母值与这个名字在名字列表中的位置相乘,得到这个名字的得分。 例如将名字列表按照字母排序后, COLIN这个名字是列表中的第938个,它的字母值是3+15+12+9+14=533 + 15 + 12 + 9 +
2016-10-19 21:47:58 428
原创 欧拉工程第21题 计算10000以下所有相亲数之和
d(n)d(n)定义为n 的所有真因子(小于 n 且能整除 n 的整数)之和。 如果 d(a)=bd(a) = b 并且d(b)=a d(b) = a, 且 a≠b, 那么 a 和 b 就是一对相亲数(amicable pair),并且 a 和 b 都叫做亲和数(amicable number)。 求10000以下相亲数的和。
2016-10-19 20:47:25 923
原创 欧拉工程第20题 计算100!的各位之和
n!=n×(n−1)×(n−2)×⋯×3×2×1 例如10!=9×8×7×6×5×4×3×2×1=3628800 那么10!的各位之和就是3+6+2+8+8+0+0=27 算出100!的各位数字之和
2016-10-19 14:11:23 538
原创 欧拉工程第19题 20世纪有多少个星期日是当月的第一天
20世纪(1901年1月1日到2000年12月31日)一共有多少个星期日落在了当月的第一天?
2016-10-19 10:32:53 675
原创 欧拉工程第17题 用英文写出1到1000的所有数字需要多少个字母
题目 如果用英文写出数字1到5: one, two, three, four, five, 那么一共需要3 + 3 + 5 + 4 + 4 = 19个字母。 如果数字1到1000(包含1000)用英文写出,那么一共需要多少个字母? 注意: 空格和连字符不算在内。
2016-10-18 15:43:51 1634
原创 欧拉工程第16题 2的1000次方的各位之和是多少?
题目 2^15=32768并且其各位之和为3+2+7+6+8=263 + 2 + 7 + 6 + 8 = 26. 2^1000的各位数之和是多少?
2016-10-16 22:17:57 735
原创 欧拉工程第15题 从20*20的网格的左上角通往右下角有多少条路
题目 从一个2×2网格的左上角开始,有6条(不允许往回走)通往右下角的路。 对于20×20的网格,这样的路有多少条?
2016-10-16 21:42:24 734
原创 欧拉工程第14题 找出以100万以下的数字开始的最长序列
题目以下迭代序列定义在整数集合上: n → n/2 (当n是偶数时) n → 3n + 1 (当n是奇数时) 应用以上规则,并且以数字13开始,我们得到以下序列: 13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1 可以看出这个以13开始以1结束的序列包含10个项。以哪个不超过100万的数字开始,能得到最长的数列。
2016-10-16 21:14:21 422
原创 欧拉工程第12题 第一个拥有超过500个约数的三角形数是多少
题目 三角形数序列是由对自然数的连加构造而成的。所以第七个三角形数是1+2+3+4+5+6+7=281+2+3+4+5+6+7=28. 那么三角形数序列中的前十个是:1,3,6,10,15,21,28,36,45,55,…1, 3, 6, 10, 15, 21, 28, 36, 45, 55, \ldots 下面我们列出前七个三角形数的约数: 1: 1 3: 1,3 6:
2016-10-16 15:41:13 1227
原创 欧拉工程第11题 在20×20的网格中同一直线上四个数的最大乘积是多少
题目 在以下这个20×20的网格中,四个处于同一对角线上的相邻数字用粗体标了出来: 这四个数字的乘积是:26×63×78×14=178869626. 在这个20×20网格中,处于任何方向上(上,下,左,右或者对角线)的四个相邻数字的乘积的最大值是多少?
2016-10-16 12:50:59 755
原创 欧拉工程第10题 计算两百万以下所有质数的和
题目 10以下的质数的和是2 + 3 + 5 + 7 = 17. 找出两百万以下所有质数的和。解题方法迭代200万以下的所有正整数,如果是素数则累加到sum上,不是跳过,最后输出结果。程序 程序中用到的Prime类是我自定义的工具类,因为在做欧拉工程的题目遇到很多素数相关的题目,所以我实现了一个Prime工具类,方便解题。具体的源码以及用法参考我的另一篇文章——《Java工具类
2016-10-16 10:35:21 897
原创 欧拉工程第9题 找出唯一的满足a + b + c = 1000的毕达哥拉斯三元组{a, b, c}
题目 一个毕达哥拉斯三元组是一个包含三个自然数的集合,a<b<ca<b<c,满足条件:a2+b2=c2a^{2}+b^{2}=c^{2} 例如:32+42=9+16=25=523^{2}+4^{2}=9+16=25=5^{2} 已知存在并且只存在一个毕达哥拉斯三元组满足条件a+b+c=1000a + b + c = 1000。 找出该三元组中abcabc的乘积。解题方法此题的
2016-10-16 10:07:42 633
原创 欧拉工程第8题 找出这个1000位数字中连续13个数字乘积的最大值
题目 以下1000位数中连续4个数字的最大乘积是9×9×8×9=58329\times9\times8\times9=5832 找出以下这个1000位的整数中连续13个数字的最大乘积。73167176531330624919225119674426574742355349194934 96983520312774506326239578318016984801869478851843
2016-10-16 00:23:34 1179
原创 欧拉工程第7题 找出第10001个质数
题目 前六个质数是2,3,5,7,11和13,其中第6个是13. 第10001个质数是多少?解题方法 程序中用到的Prime类是我自定义的工具类,因为在做欧拉工程的题目遇到很多素数相关的题目,所以我实现了一个Prime工具类,方便解题。具体的源码以及用法参考我的另一篇文章——《Java工具类 素数类》主要使用getPrimeArrayByLength函数返回长度为length的
2016-10-15 23:14:51 922
原创 欧拉工程第6题 平方和与和平方的差是多少
题目 前十个自然数的平方和是:1^2+2^2+⋯+10^2=385 前十个自然数的和的平方是:(1+2+⋯+10)^2=55^2=3025 所以平方和与和的平方的差是3025−385=2640 找出前一百个自然数的平方和与和平方的差。
2016-10-15 22:45:34 481
原创 欧拉工程第5题 找出最小的能被1-20中每个数整除的数
题目 2520是最小的能被1-10中每个数字整除的正整数。 最小的能被1-20中每个数整除的正整数是多少?解题方法题目的实质是求几个数的最小公倍数。 任何一个正整数都可以表示成几个素数的次方的乘积假设PnP_{n}表示第n个素数,那么任意正整数可以通过下面的式子获得:Num=Pk11Pk22Pk33⋯Pknn,n∈N+,kn∈NNum=P_{1}^{k_{1}}P_{2}^{k
2016-10-15 21:53:53 2267 1
原创 欧拉工程第4题 找出由两个三位数乘积构成的最大回文数
一个回文数指的是从左向右和从右向左读都一样的数字。最大的由两个两位数乘积构成的回文数是9009 = 91 * 99. 找出最大的有由两个三位数乘积构成的回文数。
2016-10-14 20:40:50 1716
原创 欧拉工程第2题 在斐波那契数列中,找出4百万以下的项中值为偶数的项之和
题目 斐波那契数列中的每一项被定义为前两项之和。从1和2开始,斐波那契数列的前十项为: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, … 考虑斐波那契数列中数值不超过4百万的项,找出这些项中值为偶数的项之和。
2016-10-13 19:47:38 1205
原创 欧拉工程第1题 找出1000以下自然数中3和5的倍数之和
题目 10以下的自然数中,属于3和5的倍数的有3,5,6和9,它们之和是23. 找出1000以下的自然数中,属于3和5的倍数的数字之和。解题方法方法1用一个自增量从3开始每次自增1(上限为1000),判断自增后的数是否为3或5的倍数,如果是,则累加到sum上,如果不是则继续。最后输出sum。
2016-10-13 16:36:51 1346
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人