欧拉项目007:第10001个素数

10001st prime

Problem 7

By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13.

What is the 10 001st prime number?

使用埃拉托斯特尼筛法,不懂得自行Wiki

我的python代码:

# -*- coding:utf-8 -*-
#使用埃拉托斯尼特晒法
#从2开始
import math
def findprime(L):
    i = 0
    count = 0
    while L[i]**2<L[-1]:
        for j in range (i+1,len(L)):
            if L[j]%L[i] == 0:
                L[j] = 0
                count += 1
        L.sort()
        L = L[count:]
        count = 0
        i += 1
    return L
L=range(2,1000000)
prime = findprime(L)
print prime[10000]

欧拉项目007:第10001个素数

时间: 2024-10-12 14:56:46

欧拉项目007:第10001个素数的相关文章

欧拉项目010:2000000以内的素数和

Summation of primes Problem 10 The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17. Find the sum of all the primes below two million. 还是使用Sieve of Eratosthenes 算法 我的python代码例如以下: #coding:utf-8 #从2到sqrt(n) # 不用全部的都用遍历.从i**2,步长为i,i*2,i*3肯定都不是质素. # 从i*

欧拉项目005:最小公倍数

Smallest multiple Problem 5 2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder. What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20? 就是找出1....20 所有数的最

欧拉项目004:寻找最大的回文数

Problem 4: Largest palindrome product A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99. Find the largest palindrome made from the product of two 3-digit numbers. 寻找有两

006:欧拉项目平方和与和的平方的差

Sum square difference Problem 6 The sum of the squares of the first ten natural numbers is, 12 + 22 + ... + 102 = 385 The square of the sum of the first ten natural numbers is, (1 + 2 + ... + 10)2 = 552 = 3025 Hence the difference between the sum of

欧拉筛法(线性筛)素数

#include<bits/stdc++.h> using namespace std; #define maxn 40 int prime[maxn]; int visit[maxn]; void Prime(){//埃氏筛法 memset(visit,0,sizeof(visit)); //初始化都是素数 visit[0] = visit[1] = 1; //0 和 1不是素数 for (int i = 2; i <= maxn; i++) { if (!visit[i]) { //

欧拉项目代码(1--7)

第七题 求第10001个质数(用这个代码,我的笔记本大概算了40s): count=1 num=3 def findPrime(s): i=2 a=s while i<s/2: if s%i == 0: s=s/i break else: i=i+1 if s==a: return True else: return False while count <10001: if findPrime(num): count =count + 1 num = num +2 else: num = nu

欧拉项目第三题之最大质数因子

13195的质数因子有5,7,13和29. 600851475143的最大质数因子是多少? 这里可以肯定的是:1.数字很大,绝对不能暴力.2.如果这是一到OJ题,那么我们的目的就是尽量缩小这个数,减少计算量. 我们都知道,任何一个合数都是可以由他的所有质因素相乘得到的,比如15=3*3*3*3*3,12=2*2*3,60=2*2*3*5.(这些数都是我随便想的),好的,我们先看一个比较小的数60,现在我们要找它的最大质因子,我们可以从最小的奇数开始枚举(当然要先枚举2这个特殊的质数,除此之外的偶

欧拉项目第十题;用筛法做,

#include<stdio.h>#define N 2000000int a[N]; int main(){ __int64 sum=0; __int64 i,j; for(i=2;i<N;i++) a[i]=1; for(i=2;i<N;i++) if(a[i]) for(j=i;i*j<N;j++) a[i*j]=0; for(i=2;i<N;i++) if(a[i]) sum=sum+i; printf("%I64d",sum); retur

欧拉项目python代码

第12题: 拥有超过500个因数的第一个三角数(1+2+3+4+......) def findivisionnum(num): count = 0 n=1 import math while count<num: count = 0 for i in range(1,int(math.sqrt(triangle(n)))+1): if not triangle(n)%i: count +=2 if int(math.sqrt(triangle(n)))==math.sqrt(triangle(