c语言中如何求素数
发布网友
发布时间:2022-04-30 18:33
我来回答
共5个回答
热心网友
时间:2022-06-29 07:01
思路:所谓素数是指只能被1和自身整除的数叫作素数,判断素数就可以从2到该数减一依次判断能否整除该数,如果能则不是素数,否则就是素数。
参考代码:
#include<stdio.h>
int isp(int n)//判断是否是素数,是返回1,否则返回0
{
int i;
for(i=2;i<n;i++)
if(n%i==0) return 0;
return 1;
}
int main()
{
int a;
scanf("%d",&a);
if(isp(a))
printf("%d是素数\n",a);
else
printf("%d不是素数\n",a);
return 0;
}
/*
输出:
89
89是素数
*/
热心网友
时间:2022-06-29 07:02
#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的话,就打印不是素数,写个函数是比较好的方法
热心网友
时间:2022-06-29 07:02
算到算数平方根,这样做是为了提高效率啊,如,求121是不是素数,你不用去用121除以2到120(这样会做119次除法计算,这样效率就低了)。。。你算到它的算数平方根还没有找到它的一个因数,这就可以说它是素数了,
这是有人在数学上证明过了的
热心网友
时间:2022-06-29 07:03
题 目3从键盘输入一个整数,如果该整数为素数,则输出“此整数为素数”,否则输出“此整数不是素数”。编程实现程序代码:#include<stdio.h>#include<math.h>void main(){int x,m,i;printf("请输入一个数:\n");scanf("%d",&x);m=sqrt(x);for(i=2;i<=m;i++)if(x%i==0) break;if(i>m)printf("这个数是素数");elseprintf("这个数不是素数");}
热心网友
时间:2022-06-29 07:03
#include <stdio.h>
int main()
{
int i,j;
for(i=1;;i++)
{
for(j=1;j<i;j++)
{
if(i%j==0 && j!=1) break;
if(j==i-1) printf("%d\n",i);
}
}
return 0;
}