的Java:寻找素数

这是用于在1到100的一切是除非素数定义的部分简单的找质数代码。我知道每当计数器等于2时都存在素数。但是,当计数器加1并在稍后重置为0时,这是如何工作的。的Java:寻找素数

Public class primeFinder { 

public static void main (String[] args) {

int i = 0;

int num = 0;

String primeNumbers = "";

System.out.print("Enter the value of n:");

//from here

for (i = 1; i <= 100; i++) {

int counter = 0;

for(num = i; num >= 1 ; num--) {

if(i % num == 0) {

counter++;

}

}

if (counter == 2) {

primeNumbers = primeNumbers + i + " ";

}

}

//To here

System.out.print("Prime numbers from 1 to 100 are : ");

System.out.println(primeNumbers);

}

}

回答:

每个数字是由自身和数字1整除既然是找到所有的素数,印刷质数后常见的计数器,计数器复位到零,以便它可以在递增下一个找到下一个素数的迭代(当counter == 2时)。在使用System.out.println()时,它应该是 System.out.println(“从1到100的素数是:”+ primeNumbers);而在使用System.out.println()时,它应该是 System.out.println

用于类的访问修饰符应该是“公”,而不是“公共”。

public class primeFinder 

{

public static void main (String[] args) {

int i = 0;

int num = 0;

String primeNumbers = "";

//from here

for (i = 1; i <= 100; i++) {

int counter = 0;

for(num = i; num >= 1 ; num--) {

if(i % num == 0) {

counter++;

}

}

if (counter == 2) {

primeNumbers = primeNumbers + i + " ";

}

}

//To here

System.out.print("Prime numbers from 1 to 100 are : "+primeNumbers);

}

}

OP->从1到100 素数:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

回答:

除了定义素数为 的部分外,一切都很简单。我知道有一个素数,每当计数器等于 2.但如何当计数器加1,并重置为0以后的工作。

这是很简单的。素数只有2个因素 - 1和数字本身。所以这里的代码片段取每个从1到100的数字并向后运行直到1并检查有多少因素在那里。如果因子的数量大于2,则该数字不是质数。

回答:

如果你只是想在0和100之间的检查primenumbers,我真的会输出一个常量数组。如果您需要检查更大的数字,则更好(更快)的算法是sieve of erathostenes。如果这还不够,你可能需要根据代数数论图书馆

回答:

你问为什么它的工作原理当计数器通过0到100之间的每一个整数设置为0 的代码循环,然后执行以下操作:

set Counter to 0 

Divide your int with everyone between 0 and 100

If rest equals 0, add one to the counter

甲素是唯一一个和本身整除,所以柜台通常是两个,如果它是一个素数。

Then add the number to the list if count equals two, 

repeat with next number.

你应该知道,你的代码是不是最好的做法反正,像其他人所说

以上是 的Java:寻找素数 的全部内容, 来源链接: utcz.com/qa/259292.html

回到顶部