正文
使用c语言用函数编写素数 c语言中用函数求素数
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
用C语言编写一个程序,设计一个判断素数的函数
1.素数是一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;
2.在数据处理时只需要判读他的因子除了1和他本身就行了,而且只用计算到 这个数的开方就行了,因为后面的因子和前面的就会倒过来。如同 24 - 2 x 12 和 12 x 2 一样。
#includestdio.h
int IsPrime(int n) // 判断是否为素数
{
if (n = 1) return 0;
if (n % 2 == 0) return n == 2; // 如果是偶数,只要不是2,其他都是非素数
for (int i = 3; ; i += 2)
{
if (i n/i) break; // 等价于 i*i n, 不用开方
if (n % i == 0) return 0;
}
return 1;
}
int main()
{
int i, cnt = 0;
for (i = 1; i 100; i++)
{
if (IsPrime(i))
{
printf("%3d ", i);
if (++cnt%5 == 0) // 每5个换行
printf("\n");
}
}
return 0;
}
c语言怎么求素数?
除2以外使用c语言用函数编写素数,素数皆为奇数使用c语言用函数编写素数,所以对2单独处理使用c语言用函数编写素数,从3开始,将100以内使用c语言用函数编写素数的奇数逐一进行素数考察,是则输出,不是则跳过。另设一计数变量控制换行,每输出5个素数添加一个回车。代码如下:
#include "stdio.h"
int main(int argc,char *argv[]){
int i,n,t;
pr
#include
#include
main()
{
int a,i,flag,count=0;
for(a=1;a =100;a++)
{
flag=0;
for(i=2;i
#include int main()
{
int i,n,k,b;
for(i=1,b=1;i=100;i++)
{
for(n=2;n {
k=i%n;
if(k==0)
break;
}
扩展资料:
C语言注意事项:
1、预编译命令不是语言语句,不使用分号,不占用运行时间。
2、在IDE中通常包括编辑器,编译器,汇编器和链接器,在这个过程中是语言等级逐级降低使用c语言用函数编写素数的过程,从最高级的c语言到中级语言汇编语言再到低级语言机器语言,编辑器生成文件为.c文件,编译器生成的文件为obj汇编器生成的文件为.0文件,链接器生成的是exe文件。
3、注意 return和exit的区别, return是让本函数运行结束,而exit是让本程序运行结束。
4、在指针定义时,一定要进行初始化,否则就会出现意想不到的错误,如果不能找到对应地址赋值,那就赋给NULL(注意大写)。
5、gets可以 scanf办成办不成的事,就是可以接受空格,puts在最后会输出一个换行。
c语言如何输出素数?
第一种方法就是用1到100之间的每个数字使用c语言用函数编写素数,除以2到其本身前面的那一个数字使用c语言用函数编写素数,如果此过程中出现整除的现象,则该数不是素数。如果没有整除的现象,则该数为素数输出。代码如下#includestdio.h
int main()
{
int i = 0;
int count = 0;
for (i = 1; i = 100; i++)
{
int j = 0;
for (j = 2; j = i; j++)
{
if (i%j == 0)
{
break;
}
}
if (i == j)
{
count++;
printf("%d ", i);
}
}
printf("\ncount=%d\n", count);
return 0;
}
第二种方法使用使用c语言用函数编写素数了SQRT函数,也就是平方根,这里的平方根是整数。众所周知,非素数可以写成除了1和它本身相乘的a*b方式,而a、b之间必有一个小于等于ab之积的开平方根;如果这个非素数能够被a整除,则相应的肯定会被b整除。这种方法用1到100之间的数字除以2到它的开平方根(如果该数的平方根是整数则可以除到),在此之间如果出现整除现象,则该数不是素数;如果没有出现整除现象,则该数是素数。显而易见,这种方法比第一种方法要简便,运行的次数少#includestdio.h
#includemath.h
int main()
{
int i=0;
int count=0;
for(i=1;i=100;i++)
{
int j=0;
for(j=2;j=sqrt(i);j++)
{
if(i%j==0)
{
break;
}
}
if(jsqrt(i))
{
count++;
printf("%d ",i);
}
}
printf("\ncount=%d\n",count);
return 0;
}
使用c语言用函数编写素数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言中用函数求素数、使用c语言用函数编写素数的信息别忘了在本站进行查找喔。