素数和 Java

我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。

现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

注意,是第n个素数到第m个素数之间的所有的素数,并不是n和m之间的所有的素数。

代码:
public class Main {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner in = new Scanner(System.in);
	System.out.println("请输入n和m:");
	int n=in.nextInt();
	int m=in.nextInt();
	int count=0;
	int result=0;
	for (int i=2;;i++)//条件省略,因为不知道第200个素数是多大
	{
		int isPrime=1;
		for(int j=2;j<i;j++)//判断是否是素数
		{
			if(i%j==0)
			{
				isPrime=0;
				break;
			}
		}
		if(isPrime==1)
		{
			count+=1; 
			if(n<=count&&count<=m)//计算n到m之间的素数和
			{
				result+=i;
			}
		}
		if(count==m)//到第m个素数时输出(用这个是因为跳不出for循环)
		{
			System.out.println(result);
			break;
		}
	}
}

}

写的好烂,想来应该是要用数组的,等我学完数组再发一篇。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值