其他分享
首页 > 其他分享> > Leetcode/数学/计数质数

Leetcode/数学/计数质数

作者:互联网

质数的算法:

1,判断n是否能被2~n-1整除

输入的数n不能被2-(n-1)整除,说明是素数

输入的数n能被2-(n-1)整除,说明不是素数

#include<stdio.h>
int main()
{
    int i, n;
bool i;
    printf("please input a number:"); 
    scanf("%d", &n);
    for (i = 2; i < n ; i++)
    {
       i=panduan(i,n);
      if(i){

        printf("是质数");
       }
    }
  

 
}

bool panduan(int i,int n){
  int i;
for(j=2;j<n;j++){
if(i%j==0){
    if(j!=i){
       return false;
     }

}
}


return true;
}

 

2,判断n是否能被2~√n间的整数整除

输入的数n不能被2-√n整除,说明是素数

输入的数n能被2-√n整除,说明不是素数

 

 

#include<stdio.h>
int main()
{
    int i, n;
bool i;
    printf("please input a number:"); 
    scanf("%d", &n);
    for (i = 2; i < n ; i++)
    {
       i=panduan(i,n);
      if(i){

        printf("是质数");
       }
    }
  

 
}

bool panduan(int i,int n){
  int i;
int m=sqrt(n);
for(j=2;j<m;j++){
if(i%j==0){
    if(j!=i){
       return false;
     }

}
}


return true;
}

 

标签:panduan,int,质数,计数,bool,printf,整除,Leetcode
来源: https://www.cnblogs.com/liyangXu/p/14697830.html