c语言求素数的函数
㈠ c语言怎么求素数
除2以外,素数皆为奇数,所以对2单独处理,从3开始,将100以内的奇数逐一进行素数考察,是则输出,不是则跳过。另设一计数变量控制换行,每输出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;
}
(1)c语言求素数的函数扩展阅读:
C语言注意事项:
1、预编译命令不是语言语句,不使用分号,不占用运行时间。
2、在IDE中通常包括编辑器,编译器,汇编器和链接器,在这个过程中是语言等级逐级降低的过程,从最高级的c语言到中级语言汇编语言再到低级语言机器语言,编辑器生成文桥如察件为.c文件,编译器生成的文件为obj汇编器生成的文件橡租为.0文件,链接器生成的是exe文件。
3、注意 return和exit的区别, return是让本函数运行结束,而exit是让本程序运行结束。
4、在指针定义时,一定要进行初始化,否则就会出现意想不到的错误,如果不能找到对应地址赋值,那就赋给NULL(注意大写)。
5、gets可以 scanf办成办不成的事,就是可以接受空格,puts在最后会输出一个换敏茄行。
㈡ 用c语言编程序,用函数求素数,调用函数
#include<stdio.h>
#include<math.h>
//判断是否为素数的函数
intisPrime(intn)
{
inti=2;
while(i<=(int)sqrt(n))
{
if(n%i==0)
return0;//不是素数,直接返回0
else
i++;
}
return1;
}
intmain()
{
intn,i;
printf("输入一个正整数:");
scanf("%d",&n);
for(i=2;i<=n;i++)
{
if(isPrime(i))//调用函数,如果该数为素数,则输出
printf("%d",i);
}
printf(" ");
return0;
}
示例运行结果:
输入一个正整数: 50
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
㈢ C语言素数的求法
如果一个数是素数,只要判断他是否能被2到这个数的开方之间的数整除就行了。
int flag=0;
if(m==2){ //先判断是不是2
flag=1;
}
else{
for(int i=2;i<=sqrt(m);i++){
flag=1;
if(m%i==0){ //不是素数
flag=0;
break;
}
}
}
return (flag==1)?m:-1; //判断是否为1,为1输出m,否则输出-1 ,-1表示不是素数
如果是求某个范围的素数,可以连续调用这个方法,上面是常规的方法,还有更好的方法自己去查一下。
㈣ c语言函数求素数
#include<stdio.h>
#include<math.h>
void main()
{
int input_x,result;
printf("Please enter a INT number: ");
scanf("%d",&input_x);
result = prime_number(input_x);
printf("%d, ",input_x);
if(result)
{
printf("It is a prime number");
}
else
{
printf("It is 'not' a prime number");
}
}
prime_number(num)
{
int a,i,temp;
temp = 0;
a=sqrt(num);
for(i=2;i<=a;i++)
{
if(num%i==0)
{
temp = 1;
break;
}
}
if(temp == 0)
return 1;
return 0;
}
㈤ C语言如何使用自定义函数判断素数
#include <stdio.h>
int fun(int x)//
{
if(x<2)
return 0;//返回0,非素数
for(int i=2;i*i<=x;i++)
if(x%i==0)
return 0;
return 1;//返回1,素数
}
int main()
{
int n;
scanf("%d",&n);
if(fun(n)==1)
printf("%d是素数 ",n);
else
printf("%d不是素数 ",n);
return 0;
}
㈥ c语言中如何求素数
#include<stdio.h>
#include<math.h>
void main() // 这里不要搞错了,main
{
int i,n;
printf("输入一个整数n");
scanf("%d",&n);
n=abs(n);
if(n>2)
{
for(i=2;i<n;i++)// 在for下面跟个if判断,如果你输入4的话,这个程序打印两次4不是
if(n%i==0&&n==i)
scanf("%d是素数",n); break ;// 这里应该是printf了吧,
else
scanf("%d不是素数",n); break;// 这样会比较好点
}
else
scanf("%d不是素数",n);// 2就不是素数么,
}
这样也有问题,当你输入5的时候,for语句先判断能否整除2,不能整除2的话,就打印不是素数,写个函数是比较好的方法
㈦ 用c语言求500到1000的素数
#include <stdio.h>
int isprime(int n)
{
int i;
前知 if(n<2)
return 0;
for(i=2;i*i<=n;++i)
if(n%i==0)
芹者 return 0;
慧首消 return 1;
}
int main()
{
int i;
for(i=500;i<1000;++i)
if(isprime(i))
printf("%d ",i);
return 0;
}