首页 > 代码库 > 欧拉计划(Euler Project)——第一题到第三题
欧拉计划(Euler Project)——第一题到第三题
题目一:
10以下的自然数中,属于3和5的倍数的有3,5,6和9,它们之和是23.
找出1000以下的自然数中,属于3和5的倍数的数字之和。
package Blog1;public class First { /** * 10以下的自然数中,属于3和5的倍数的有3,5,6和9,它们之和是23.找出1000以下的自然数中,属于3和5的倍数的数字之和。 */ public static void main(String[] args) { int sum=0; for (int i=0;i<1000;i++){ if(i%3==0||i%5==0){ sum+=i; } } System.out.println(sum); }}
233168
本题总结:
判断语句要善于用逻辑运算符。
题目二:
斐波那契数列中的每一项被定义为前两项之和。从1和2开始,斐波那契数列的前十项为:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
考虑斐波那契数列中数值不超过4百万的项,找出这些项中值为偶数的项之和。
package Blog1;import java.util.ArrayList;public class Second { /** * 斐波那契数列中的每一项被定义为前两项之和。从1和2开始,斐波那契数列的前十项为: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... 考虑斐波那契数列中数值不超过4百万的项,找出这些项中值为偶数的项之和。 */ public static void main(String[] args) { int a=1,b=2; int sum=0; while(b<4000000){ if(b%2==0){ sum+=b; } b=a+b; a=b-a; } System.out.println(sum); }}
本题总结
不要把问题复杂化:要目的明确,善于用while循环。
题目三:
13195的质数因子有5,7,13和29.
600851475143的最大质数因子是多少?
package Blog1;/** * 13195的质数因子有5,7,13和29.600851475143的最大质数因子是多少?*/public class Third { private static long JUG=600851475143L; public static void main(String[] args) { for(long i=1L;i<=JUG;i++){ if(JUG%i==0&&ifprime(i)){ System.out.println(i); } } } public static boolean ifprime(long temp){ boolean flag=true; if(temp%2!=0L){ for(long i=2L;i<=(temp+1)/2;i++){ if(temp%i==0L){ flag=false; } } } return flag; }}
6857
本题总结:
- int最大20亿,long型一定要加--L,否者编译通过不了
- 找出质数(int范围内)的方法优化如下
public static boolean isPrime(int a) { boolean flag = true; if (a < 2) {// 素数不小于2 return false; } else { for (int i = 2; i <= Math.sqrt(a); i++) { //循环到平方根即可 if (a % i == 0) {// 若能被整除,则说明不是素数,返回false flag = false; break;// 跳出循环 } } } return flag; } }
欧拉计划(Euler Project)——第一题到第三题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。