
正文
c语言求质数的函数 c语言中求质数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
c语言函数求素数
#includestdio.h
#includemath.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;
}
相关问答
Q1: 用C语言编写求质数的程序
//c语言求质数的函数我分别写出了求素数和判断素数c语言求质数的函数的程序
/*
//判断一个数是否为素数
#includestdio.h
#includemath.h
int isprime(int);
void main()
{
int inumber;
printf("请输入一个非负整数: ");
scanf("%d",inumber);
if(isprime(inumber))
printf("%d是素数!\n",inumber);
else
printf("%d不是素数!\n",inumber);
}
int isprime(int a)
{
int i;
for(i=2;i=sqrt(a);i++)
if(a%i==0)
return 0;
return 1;
}
*/
/*****************************************************/
//求某个正整数以内的素数
#include"stdio.h"
#include"math.h"
int main(void)
{
int count,i,m,n,num;
printf("请输入所求范围(正整数): ");
scanf("%d",num);
count=0;//count记录素数的个数
printf("%d以内的素数为:\n",num);
for(m=2;m=num;m++)
{
n=sqrt(m);
for(i=2;i=n;i++)
{
if(m%i==0)
break;
}
if(in)//如果m是素数
{
printf("%6d",m);
count++;
if(count%10==0)//count为10的倍数时换行
printf("\n");
}
}
printf("\n");
return 0;
}
Q2: 求质数c语言
#include "stdafx.h"
int main(int argc, char* argv[])
{
int a=0;
int b=2;
int i=0;
int n1=0;
int n2=0;
printf("请输入所要求哪个范围的质数\n");
scanf("%d %d",n1,n2);
for(a=n1;a=n2;a++)
{
for(b=2;b=a-1;b++)
if(a%b==0) break;
if(a=b)
printf("质数: %d\n",a);
}
printf("\n");
return 0;
}
3
输入你所要求某个范围的质数,两个数用【空格键】隔开。如输入"180 200",
输出:
质数: 181
质数: 191
质数: 193
质数: 197
质数: 199
Q3: 求素数(C语言)用函数
#includestdio.h
int sushu(int z);/*函数声明最好放在外面,放到文件前端*/
void main()
{
int b,a;
printf("enter a date:\n");
scanf("%d",b);
a=sushu(b);
if(a==0||b==0)
printf("no\n");
else
printf("yes\n");
}
int sushu(int z)
{
int i , j;/*i和返回值要分开,i要做循环标尺c语言求质数的函数的*/
for(i=2;iz;i++)
{
if(z%i==0)
{
j=0;
break;/*一旦发现不是素数,跳出for循环*/
}
else
j=1;/*如果用i,就是个死循环,如果是素数,每次c语言求质数的函数你把i=1后for循环一直继续*/
}
return j;
}
Q4: C语言求质数
红框里c语言求质数的函数的代码,加上那个i++c语言求质数的函数的for循环,其逻辑是:
从2开始,遍历所有小于n的整数,
只要存在一个整数可以被n整除(即余数为0),则可判断n为合数.
若从2到n-1范围内,不存在可整除n的数,则判断n为质数.
还有 for(int .......)这种定义变量的写法,要C99才支持,现在很多编译器默认C89标准,或者不支持C99标准,这样写容易出错.
第一个for循环里面,直接把n=0,1,2的情况跳过c语言求质数的函数了.既然这样,变量n直接把初值赋为3不就好c语言求质数的函数了,赋值0干嘛.
第二个for循环里面,判断到isqrt(n)就可以c语言求质数的函数了,还有更简单的求质数算法,感兴趣可以百度.
关于c语言求质数的函数和c语言中求质数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








