题目:
输入不同的数值,输出前多少个素数
素数:在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
输入:
5
输出:
第1个素数:2
第2个素数:3
第3个素数:5
第4个素数:7
第5个素数:11
while用法代码
import java.util.Scanner;
/*
输出一定范围的素数--前多少个素数(有确定数字)
for循环使用在有确定循环次数的
if为判断语句是判断条件
do
{
}while();使用在一定要执行一次语句
*/
public class Main {
public static void main(String[] args) {
int n = 2;//初始值为2
int count = 0;//存储数值
Scanner in = new Scanner(System.in);
int number = in.nextInt();//输入数字
while (count < number)//结束循环条件
{
boolean isPrime = true;//是素数的条件
for (int i = 2;i < n; i++)
{
if (n%i ==0)//判断不是素数
{
isPrime = false;
break;//跳出循环,已经被整除无须再往下执行
}
}
if (isPrime)//判断是素数
{
count++;//在叠加次数
System.out.println("第"+count+"个素数:"+n);//输出第几个素数和数值
}
n++;//循环数值叠加
}
}
}
结果
第1个素数:2
第2个素数:3
第3个素数:5
第4个素数:7
第5个素数:11
for用法
import java.util.Scanner;
/*
输出不同范围以内的素数
*/
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int number = in.nextInt();
int count = 0;
for (int n =2;count < number;n++)//(初始值;循环结束标志;数值叠加)
{
boolean isPrime = true;//是素数的条件
for (int i = 2;i <n; i++)
{
if (n%i == 0)
{
isPrime = false;//不是素数
break;//跳出循环,已经被整除无须再往下执行
}
}
if (isPrime)//判断是素数
{
count++;//增加次数
System.out.println("第"+count+"个素数:"+n);//输出第几个素数和数值
}
}
}
}
结果
第1个素数:2
第2个素数:3
第3个素数:5
第4个素数:7
第5个素数:11