欧拉计划(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

  本题总结:

  1. int最大20亿,long型一定要加--L,否者编译通过不了
  2. 找出质数(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)——第一题到第三题

时间: 2024-11-10 02:12:25

欧拉计划(Euler Project)——第一题到第三题的相关文章

用欧拉计划学Rust语言(第17~21题)

最近想学习Libra数字货币的MOVE语言,发现它是用Rust编写的,所以先补一下Rust的基础知识.学习了一段时间,发现Rust的学习曲线非常陡峭,不过仍有快速入门的办法. 学习任何一项技能最怕没有反馈,尤其是学英语.学编程的时候,一定要"用",学习编程时有一个非常有用的网站,它就是"欧拉计划",网址: https://projecteuler.net 这个网站提供了几百道由易到难的数学问题,你可以用任何办法去解决它,当然主要还得靠编程,编程语言不限,论坛里已经有

欧拉计划16-20题

16.Power digit sum 215 = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26. What is the sum of the digits of the number 21000? 题目大意: 215 = 32768 并且其各位之和为 is 3 + 2 + 7 + 6 + 8 = 26. 21000 的各位数之和是多少? #include <stdio.h> #include <stdbool.h&g

通过欧拉计划学Rust(第1~6题)

最近想学习Libra数字货币的MOVE语言,发现它是用Rust编写的,看来想准确理解MOVE的机制,还需要对Rust有深刻的理解,所以开始了Rust的快速入门学习. 看了一下网上有关Rust的介绍,都说它的学习曲线相当陡峭,曾一度被其吓着,后来发现Rust借鉴了Haskell等函数式编程语言的优点,而我以前专门学习过Haskell,经过一段时间的入门学习,我现在已经喜欢上这门神奇的语言. 入门资料我用官方的<The Rust Programming Language>,非常权威,配合着<

通过欧拉计划学Rust编程(第54题)

由于研究Libra等数字货币编程技术的需要,学习了一段时间的Rust编程,一不小心刷题上瘾. 刷完欧拉计划中的63道基础题,能学会Rust编程吗? "欧拉计划"的网址: https://projecteuler.net 英文如果不过关,可以到中文翻译的网站: http://pe-cn.github.io/ 这个网站提供了几百道由易到难的数学问题,你可以用任何办法去解决它,当然主要还得靠编程,编程语言不限,论坛里已经有Java.C#.Python.Lisp.Haskell等各种解法,当然

欧拉计划21-23题

21.Amicable numbers Let d(n) be defined as the sum of proper divisors of n (numbers less than n which divide evenly into n). If d(a) = b and d(b) = a, where a  b, then a and b are an amicable pair and each of a and b are called amicable numbers. For

刷完欧拉计划中难度系数为5%的所有63道题,我学会了Rust中的哪些知识点?

我为什么学Rust? 2019年6月18日,Facebook发布了数字货币Libra的技术白皮书,我也第一时间体验了一下它的智能合约编程语言MOVE,发现这个MOVE是用Rust编写的,看来想准确理解MOVE的机制,还需要对Rust有深刻的理解,所以又开始了Rust的快速入门学习. 欧拉计划 看了一下网上有关Rust的介绍,都说它的学习曲线相当陡峭,曾一度被其吓着,后来发现Rust借鉴了Haskell等函数式编程语言的优点,而我以前专门学习过Haskell,经过一段时间的入门学习,我现在已经喜欢

欧拉计划013(ProjectEuler013):求出10个数乘积最大的

申明:之前的所有欧拉计划都是用python来写的,的确python来写,代码量极少,学习起来也很方便.但是最近为了找java工作,所以用Java来完成欧拉计划的题,来复习一下Java. Large sum Problem 13 Work out the first ten digits of the sum of the following one-hundred 50-digit numbers. 371072875339021027987979982208375902465101357402

欧拉计划记录帖

记录一下自己刷(水)欧拉计划的题目,(=?ω?=). (每天一两道,胜过做神仙!) 1.2/27日 前15道KO 基本都是暴力水题,第15道是道组合数学. 2.2/28日 今天要把25题的那个成就打出来! 原文地址:https://www.cnblogs.com/Leonard-/p/8485463.html

欧拉计划003. 最大素因子

Problem 3: Largest prime factor The prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor of the number 600851475143 ? 求出最大素因子 我的python代码如下: num=600851475143 div=2 while div<=num: if num%div==0: num=num/div else: div=div+1 prin