c语言求素数个数
求素数个数可以利用筛法求解,即从2开始,将2的倍数标记为合数,然后找到下一个未被标记的数,将其标记为质数,再将其倍数标记为合数,如此循环直到找到所有小于等于目标数的质数,并统计质数的个数即可。实现时可以使用标记数组,将合数标记为1,质数标记为0。具体实现方法可以参考代码实现。
用c语言编写程序输出1-100内的素数
有三种方法:
1、输出1-100以内的素数:
2、同样,也是输出1-100以内的素数,这个构造一个数组,将其所有元素初始化为1,表示素数,这时取x从2开始,到100以内做循环。
若x为素数,即prime[x]!=0,使得每个i*x位置元素置0(prime[i*x]=0),表示为非素数,循环结束前x+1。
3、该方法是输出100个素数,基本思想是构造一个素数表,利用函数判断每个数是否能被其之前的素数整除,如果不能,则在素数表内加上该元素,不断循环(while循环结束条件是cnt即数组个数>100)。
扩展资料:
在这个小程序中主要用到的是for循环
for 循环语句的一般形式为:
for (表达式1; 表达式2; 表达式3)
{
语句;
}
需要注意的两点:
1) 表达式1、表达式2和表达式3之间是用分号;隔开的,千万不要写成逗号。
2) for(表达式1;表达式2;表达式3)的后面千万不要加分号,很多新手都会犯这种错误——会情不自禁地在后面加分号。
因为 for 循环只能控制到其后的一条语句,而在C语言中分号也是一个语句——空语句。所以如果在后面加个分号,那么 for 循环就只能控制到这个分号,下面大括号里面的语句就不属于 for 循环了。
c语言10以内的素数
int main(){
for(int i=2;i<=10;i++)
{
int flag=0;
for(int j=2;j<i;j++)
{
if(i%j==0&&i!=2){
flag++;
}
if(flag==0){
printf("%d是素数。\n", i);
}else{
printf("%d不是素数。\n", i);
}
}
}
return 0;
}