求1到n之间的质数(素数)
程序员文章站
2022-03-01 17:47:08
...
定义
质数又称素数。指整数在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。
例
求0到9之间的所有素数和个数
分析:想求出素数,那么需要循环0到9之间的数,首先需要一个for循环
for (int i = 2; i < 10; i++) {
}
从2开始时因为质数是从大于1开始的自然数
然后就是找出里面哪些数是属于素数的,大于1且除了1和自身外没有其他自然数能够被整除的数
for (int j = 2; j <i ; j++) {
if (i%j==0){
temp++;
}
}
if (temp==0){
System.out.println("i = " + i );
count++;
}
temp表示有多少个数能够被整除,如果为0,表示这个数是素数
count统计质数的总数
从2开始到自身的这个数之前的数,如果都不能够被整除,那么这个数就是素数
完整代码
public class TestZs {
public static void main(String[] args) {
int count = 0;//统计质数的总数
int temp = 0;//只有为0时,代表只有1和自身能被整除,则为质数
for (int i = 2; i < 10; i++) {
temp=0;//这里要设置为0,确保每次循环新数时从0开始计数
for (int j = 2; j <i ; j++) {
if (i%j==0){
temp++;
}
}
if (temp==0){
System.out.println("i = " + i );
count++;
}
}
System.out.println("count = " + count );
}
}
输出结果:
i = 2
i = 3
i = 5
i = 7
count = 4
上一篇: 求1到n的质数个数和O(n)
推荐阅读
-
js求1到任意数之间的所有质数
-
c语言:求n!从1到20的和
-
JS求1到任意数之间的所有质数的方法详解
-
使用C语言编写程序,计算N个整数的和(随机输入一个值,例如1到100之间所有整数的和)
-
1)的累加和(累乘积(阶乘))。其中n的值从键盘输入。输入一个2000年以后的年份n,输出所有介于2">
PTA判断输入的整数是否是素数,如果是则输出"1",否则输出"0." 编写程序,求自然数1至n(n>1)的累加和(累乘积(阶乘))。其中n的值从键盘输入。输入一个2000年以后的年份n,输出所有介于2
-
c语言:求1/n!从1到20的和
-
输入正整数n(n大于等于2),求不大于n的全部质数(素数)【其中一种优化算法】
-
js求1到任意数之间的所有质数
-
c语言:求n!从1到20的和
-
求3~200之间的全部素数(素数是指除1和其本身之外,不能被任何其他整数整除的数)