Compare commits
1 Commits
Author | SHA1 | Date |
---|---|---|
|
3ebe0cab75 | 4 years ago |
@ -0,0 +1,53 @@
|
|||||||
|
//素数
|
||||||
|
//方法1
|
||||||
|
#include<stdio.h>
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int n,i;
|
||||||
|
scanf("%d",&n);
|
||||||
|
for(i=2;i<=n-1;i++)
|
||||||
|
if(n%i==0) break;
|
||||||
|
if(i==n) printf("%d是素数",n);
|
||||||
|
else printf("%d不是素数",n);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
//方法2
|
||||||
|
#include<stdio.h>
|
||||||
|
#include<math.h>
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int n,i;
|
||||||
|
scanf("%d",&n);
|
||||||
|
for(i=2;i<=sqrt(n);i++)
|
||||||
|
if(n%i==0) break;
|
||||||
|
if(i>sqrt(n)) printf("%d是素数",n);
|
||||||
|
else printf("%d不是素数",n);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
//方法3
|
||||||
|
#include<stdio.h>
|
||||||
|
bool isPrime_3( int num )
|
||||||
|
{
|
||||||
|
//两个较小数另外处理
|
||||||
|
if(num ==2|| num==3 )
|
||||||
|
return 1 ;
|
||||||
|
//不在6的倍数两侧的一定不是质数
|
||||||
|
if(num %6!= 1&&num %6!= 5)
|
||||||
|
return 0 ;
|
||||||
|
int tmp =sqrt( num);
|
||||||
|
//在6的倍数两侧的也可能不是质数
|
||||||
|
for(int i= 5;i <=tmp; i+=6 )
|
||||||
|
if(num %i== 0||num %(i+ 2)==0 )
|
||||||
|
return 0 ;
|
||||||
|
//排除所有,剩余的是质数
|
||||||
|
return 1 ;
|
||||||
|
}
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int n,i;
|
||||||
|
scanf("%d",&n);
|
||||||
|
i=isPrime_3(n);
|
||||||
|
if(i==1) printf("%d是素数",n);
|
||||||
|
else printf("%d不是素数",n);
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in new issue