素数的和
来源:互联网 发布:淘宝弹力椅套 编辑:程序博客网 时间:2024/06/13 01:52
所有小于10的素数的和是2 + 3 + 5 + 7 = 17。
求所有小于两百万的素数的和。
package EULER10;import java.util.ArrayList;import java.util.List;/** * Created by Administrator on 2016/7/7. * 所有小于10的素数的和是2 + 3 + 5 + 7 = 17。 * 求所有小于两百万的素数的和。 */public class EULER10 { public static void main(String[] args){ m2(); } public static void m1(){ long start = System.currentTimeMillis(); long result = 2; long i = 3; boolean isPrime = true; while (i<2000000){ isPrime = true; for (long j=3;j<=i/2;j+=2){ if (i%j==0) { isPrime = false; break; } } if (isPrime) { result += i; } i += 2; } System.out.println("二百万以下的素数和为"+result); long end = System.currentTimeMillis(); System.out.print("总用时:"+(end-start)+"毫秒"); } /** * 效率提高10000倍,新的找素数方法,在lassevk的方法基础上改进遍历奇数倍。 * 从3开始遍历奇数,如果没有被标记,标记所有该数的奇数倍(因为只遍历奇数,除了2偶数不可能是素数),继续遍历 * 这样一来,如果没被标记,说明他不是所有比他小的奇数的倍数,它是素数 * 缺点可能是占内存 */ public static void m2(){ long start = System.currentTimeMillis(); long[] l = new long[2000000]; long result = 2; int i = 3; while (i<2000000){ if (l[i]==0){ result += i; int k = i; while (k<2000000){ l[k] = 1; k += 2*i; } } i += 2; } System.out.println("二百万以下的素数和为"+result); long end = System.currentTimeMillis(); System.out.print("总用时:"+(end-start)+"毫秒"); }}
0 0
- 素数的和
- 素数的和
- 素数的和
- 求素数的和
- 100以内素数的和
- 100以内素数的和
- 100以内素数的和
- 100以内素数的和
- 100以内素数的和
- 100以内素数的和
- 100以内素数的和
- 整数的素数和分解
- 素数的判断和输出
- miller_rabin素数判断和pollard_rho的素数因子分解算法
- C/C++ 素数和逆素数的求解。。
- 判断素数和打印100-200的素数
- 范围内寻找素数组合、它们的和也为素数
- 计算第n个素数到第m个素数之间所有的素数的和
- 微信检测工具
- 初学mysql(七)-数据库之视图
- 国密及PKCS7的OID
- 安卓实景导航
- 欢迎使用CSDN-markdown编辑器
- 素数的和
- Struts2的ValueStack(值栈)
- 简易考生管理系统
- hive中使用-e方式执行查询
- csdn博客域名怎么改?
- 菜鸟之路——Spring MVC(九)常用注解
- linux 下用户管理
- Android SDK 之 InputMethodService 详解
- TransformPoint和InverseTransformPoint解析