c语言素数的输出,c语言素数输出代码

dfnjsfkhak 38 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言素数输出问题,于是小编就整理了3个相关介绍c语言素数的输出的解答,让我们一起看看吧。

  1. C语言,输出1到100之间的全部素数?
  2. C语言,输出1到100之间的全部素数?
  3. c语言怎么输出一定范围的素数?

C语言,输出1到100之间的全部素数?

方法一:

1、遍历1到100之间所有数,由于1的特殊性,不是素数也不是合数,所以可以从2开始遍历;

c语言素数的输出,c语言素数输出代码-第1张图片-芜湖力博教育咨询公司
图片来源网络,侵删)

2、对于每一个数判断是否为素数;

3、如果是素数,则输出,否则继续下一个。

参考代码

c语言素数的输出,c语言素数输出代码-第2张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

#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之间的全部素数?

方法一:

c语言素数的输出,c语言素数输出代码-第3张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

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语言怎么输出一定范围的素数?

共有3种方式:

第一种方法就是用1到100之间的每个数字,除以2到其本身前面的那一个数字,如果此过程中出现整除的现象,则该数不是素数。如果没有整除的现象,则该数为素数输出。

第二种方法使用了SQRT函数,也就是平方根,这里的平方根是整数。众所周知,非素数可以写成除了1和它本身相乘的a*b方式,而a、b之间必有一个小于等于ab之积的开平方根;如果这个非素数能够被a整除,则相应的肯定会被b整除。这种方法用1到100之间的数字除以2到它的开平方根(如果该数的平方根是整数则可以除到),在此之间如果出现整除现象,则该数不是素数;如果没有出现整除现象,则该数是素数。显而易见,这种方法比第一种方法要简便,运行的次数少。

第三种方法是对第二种方法的优化,原理如下:1到100之间的所有都不是素数,所以可以剔除,直接对奇数进行判断,这样又可以让程序的运行时间减少一半。

到此,以上就是小编对于c语言素数的输出的问题就介绍到这了,希望介绍关于c语言素数的输出的3点解答对大家有用

标签: 素数 输出 整除