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;

}

}

这个代码分成了好几个方法,每一个实现一个小功能。这样逻辑会更清晰而且debug范围会更小更好确定。以前写c语言的素数的时候用两个for大概十多行就能写完了,但是初学的时候看这样的代码会很困难,还是得习惯多用方法来分隔。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值