c语⾔输出10-50所有素数,输出前50个素数
public class PrimeNumberMethod {
public static void main(String[] args) {
// TODO ⾃动⽣成的⽅法存根
System.out.println("The first 50 prime number are \n");
printPrimeNumbers(50);
}
public static void printPrimeNumbers(int numberOfPrimes) {
final int NUMBER_OF_PRIMES_PER_LINE = 10; //定义⼀⾏输出10个数字
int count = 0;
int number = 2; //素数从2开始
while (count < numberOfPrimes) {
if(isPrime(number)) { //如果是素数的话个数加⼀,然后再讨论怎样输出
count++;
if (count % NUMBER_OF_PRIMES_PER_LINE == 0) {
System.out.printf("%-5s\n",number); //⼀⾏已经有10个数字了⽤⼀个\n到下⼀⾏
}
else
System.out.printf("%-5s",number); //不到⼗个数字直接在后⾯输出
}
number++;
}
}
public static boolean isPrime(int number) { //判断是否是素数,2到2/n都不能整除的就是素数
for (int divisor = 2 ; divisor <= number/2; divisor++ ) {
if(number % divisor == 0)
return false;
}
return true;c++判断素数
}
}
这个代码分成了好⼏个⽅法,每⼀个实现⼀个⼩功能。这样逻辑会更清晰⽽且debug范围会更⼩更好确定。以前写c语⾔的素数的时候⽤两个for⼤概⼗多⾏就能写完了,但是初学的时候看这样的代码会很困难,还是得习惯多⽤⽅法来分隔。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论