素数

来源:互联网 发布:河北网络干部学院下载 编辑:程序博客网 时间:2024/05/17 08:13

关于素数,题库里有很多。但我全都没搞懂。第一次我没弄明白,我不知道我第一次是怎么打出来的。

#include<bits/stdc++.h>
using namespace std;
int main()
{
 long long n,m=0;
 cin>>n;
 for(int i=2;i<=sqrt(n);i++)
   if(n%i==0) m+=1;
   else m+=0;
 if(m==0)
 cout<<"Yes";
 else
 cout<<"No";
 return 0;
}

这个sqrt为什么要用它,我是一直没搞懂。我觉得直接

#include<bits/stdc++.h>
using namespace std;
int main()
{
 long long n,m=0;
 cin>>n;
 for(int i=2;i<=n;i++)
   if(n%i==0) m+=1;
 if(m==0)
 cout<<"Yes";
 else
 cout<<"No";
 return 0;
}

这下又有一个再求素数。还要求循环次数少。我求助了大佬,但大佬也说不清为什么要这样打。

#include<bits/stdc++.h>
using namespace std;
int main()
{
 int n;
 cin>>n;
 for(int i=2;i<=n;i++)
  {
   int k=0;
  for(int j=2;j<=sqrt(i);j++)
   if(i%j==0)
   {k+=1;
   break;}
  if(k==0)
  cout<<i<<endl;
  }
     return 0;
}

原创粉丝点击