大家好,今天小编关注到一个比较有意思的话题,就是关于c语言数组中素数的问题,于是小编就整理了3个相关介绍c语言数组中素数的解答,让我们一起看看吧。
c语言求素数个数?
求素数个数可以利用筛法求解,即从2开始,将2的倍数标记为合数,然后找到下一个未被标记的数,将其标记为质数,再将其倍数标记为合数,如此循环直到找到所有小于等于目标数的质数,并统计质数的个数即可。实现时可以使用标记数组,将合数标记为1,质数标记为0。具体实现方法可以参考代码实现。
C语言,输出1到100之间的全部素数?
方法一:
1、遍历1到100之间所有数,由于1的特殊性,不是素数也不是合数,所以可以从2开始遍历;
3、如果是素数,则输出,否则继续下一个。
参考代码:
#include <stdio.h>
#include <math.h>
int isPrime(int n)//判断素数函数。
{
int i;
for(i = 2; i <= (int)sqrt(n); i ++)//从2到算数平方根遍历。
if(n%i == 0) return 0;//存在约数,非素数,返回0.
return 1;//是素数,返回1.
}
int main()
{
int i;
for(i = 2; i <= 100; i ++)//遍历。
if(isPrime(i))//是素数。
printf("%d ", i);//输出素数。
return 0;
}
方法二是输出100个素数,基本思想是构造一个素数表,利用函数判断每个数是否能被其之前的素数整除,如果不能,则在素数表内加上该元素,不断循环(while循环结束条件是cnt即数组个数>100)。
C语言,输出1到100之间的全部素数?
方法一:
1、遍历1到100之间所有数,由于1的特殊性,不是素数也不是合数,所以可以从2开始遍历;
2、对于每一个数,判断是否为素数;
3、如果是素数,则输出,否则继续下一个。
参考代码:
#include <stdio.h>
#include <math.h>
int isPrime(int n)//判断素数函数。
{
int i;
for(i = 2; i <= (int)sqrt(n); i ++)//从2到算数平方根遍历。
if(n%i == 0) return 0;//存在约数,非素数,返回0.
return 1;//是素数,返回1.
}
int main()
{
int i;
for(i = 2; i <= 100; i ++)//遍历。
if(isPrime(i))//是素数。
printf("%d ", i);//输出素数。
return 0;
}
方法二是输出100个素数,基本思想是构造一个素数表,利用函数判断每个数是否能被其之前的素数整除,如果不能,则在素数表内加上该元素,不断循环(while循环结束条件是cnt即数组个数>100)。
到此,以上就是小编对于c语言数组中素数的问题就介绍到这了,希望介绍关于c语言数组中素数的3点解答对大家有用。