本题要求统计给定整数M和N区间内素数的个数并对它们求和。
输入格式:
输入在一行中给出两个正整数M和N(1≤M≤N≤500)。
输出格式:
在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。
输入样例:
10 31
输出样例:
7 143
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner a=new Scanner(System.in);
int m=a.nextInt();
int n=a.nextInt();
su(m,n);
a.close();
}
public static void su(int b, int c)
{
int i,j,count,sum,t;
t=0;
sum=count=0;
if(b==c&&b==1)
{
System.out.printf("%d %d",count,sum);
}
else if(b==c&&b==2)
{ count++;
sum=sum+b;
System.out.printf("%d %d",count,sum);}
else
{for(i=b;i<=c;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0)
{ t=1;
break;}
else
t=0;
}
if(t==0)
{
sum+=i;
count++;
}
}if(b==1)
System.out.printf("%d %d",count-1,sum-1);
else
System.out.printf("%d %d",count,sum);
}}}
思路比较简单,需要注意的就是考虑1,2的特殊情况,1及不是素数也不是合数,2是一个质数。
新手入门,写的不好,请多指教。