Java素数和(第n个素数到第m个素数之间的所有的素数和)
1 素数和(5分)
题目内容:
我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
现在,给定两个整数n和m,0
输入格式:
两个整数,第一个表示n,第二个表示m。
输出格式:
一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
输入样例:
2 4
输出样例:
15
时间限制:500ms内存限制:32000kb
方法一:
import java.util.Scanner;public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner in=new Scanner(System.in);int n,m,sum=0,count=0,k=1;n=in.nextInt();m=in.nextInt();while(count<=m) {k++;int isprime=1;for(int i=2;i<k;i++){if(k%i==0){isprime=0;break;}}if(isprime==1){count++;if(count>=n&&count<=m){sum+=k;}}}System.out.println(sum);}
}
方法二:
import java.util.Scanner;public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner in=new Scanner(System.in);int[]primes=new int [200];int cnt=1;int m,n,sum=0;primes[0]=2;m=in.nextInt();n=in.nextInt();MAIN_LOOP:for(int x=3;cnt<n;x++){for(int i=0;i<cnt;i++){if(x%primes[i]==0){continue MAIN_LOOP;}}primes[cnt++]=x;}for(int k=m;k<=n;k++){sum+=primes[k-1];}System.out.print(sum);}}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
