用C语言输出质数的函数 c语言输出一个数的质因数
C语言程序 输出1000以内的所有质数,每5个换一行
可以参考下面的代码:
成都创新互联公司是工信部颁发资质IDC服务器商,为用户提供优质的服务器托管服务
#include stdio.h
#include math.h
int is_prime(int n)
{
int i;
for(i = 2; i = sqrt(n); i ++)
if(n%i == 0) return 0;
return 1;
}
int main()
{
int i,n=0;
for(i=2; i 1000; i ++)
{
if(is_prime(i))
{
printf("%d ",i);
n++;
if(n%5==0)printf("\n");
}
}
}
扩展资料:
C语言参考函数:
double pow(double x,double y) 返回x^y的值
double pow10(int p) 返回10^p的值
double sqrt(double x) 返回+√x的值
C语言isupper()函数:判断一个字符是否是大写字母
C语言isspace()函数:判断一个字符是否是空白符
C语言isprint()函数:判断一个字符是否是可打印字符
参考资料来源:百度百科-C语言函数
C语言求1到n所有质数
#includestdio.h
int main()
{ int i,j,n,m;
scanf("%d",n);
for(m=0;n;n/=10)m=m*10+n%10;
if(m1)printf("2 ");
for(i=3; i=m; i+=2)
{ for(j=3;j*j=i;j+=2)
if(i%j==0)j=i;
if(j*ji)printf("%d ",i);
}
return 0;
}
输出100以内的质数,用c语言编写
#includestdio.h
int main()
{
int i,j;
int count=0;
for(i=2;i100;i++)
{
for(j=2;j=i/2;j++)
if(i%j==0)//如果i能被j整除 就不是质数 退出循环
break;
if(ji/2)
{
count++;
printf("%-3d",i);
if(count%5==0)//当每一行有5个数时 换行
printf("\n");
}
}
return 0;
}
for(j=2;j=i/2;j++)中的 j=i/2是表示 从j=2开始遍历到j=i/2 看看2~i/2中能否整除i
如果都不能 说明i是质数(也就是ji/2)
如果有1个及以上能整除i 说明i不是质数
for()
{
}
//for循环结束之后 j的值是大于i/2的 因为for循环的条件是:j=i/2
//因此 当ji/2时 for循环结束
if(ji/2)
这里当且仅当2~i/2都不能整除i时 也就是ji/2 才说明i是质数
参考资料
输出100以内的质数,用c语言如何编写?.百度知道[引用时间2017-12-25]
C语言如何实现质数输出
代码如下:
/*
* 输出 1~20 之间的质数
*/
#include stdio.h
#include math.h
//判断一整数是否为质数
int isprime(int n)
{
int i;
int up;
int ret = 1;
up = sqrt(n);
for (i=2; i=up; i++) {
if (n%i==0) {
ret = 0;
break;
}
}
return ret;
}
//主函数
int main()
{
int n;
printf("1~20 之间的质数有:");
for (n=2; n20; n++) {
if (isprime(n))
printf("%d ", n);
}
printf("\n");
return 0;
}
运行程序,输出如下:
1~20 之间的质数有:2 3 5 7 11 13 17 19
文章题目:用C语言输出质数的函数 c语言输出一个数的质因数
文章起源:http://hbruida.cn/article/ddehpde.html