不多说,直接上代码。
#include <stdio.h>
#include <math.h>
using namespace std;
bool isPrime(int t)
{
bool flag=true;
for(int j=2;j<=sqrt(t);j++)
{
if(t%j==0)
{
flag=false;
break;
}
}
return flag;
}
int main()
{
long long n;
scanf("%d",&n);
for(int i=2;i<=n;i++)
{
if(isPrime(i))
{
printf("%d\t",i);
}
}
return 0;
}
然后加注释的:
#include <stdio.h>
#include <math.h>
using namespace std;
bool isPrime(int t)//定义函数是否素数
{
bool flag=true;//先假设是
for(int j=2;j<=t/2;j++)//不计算1和本身
{
if(t%j==0)
{
flag=false;//如果有因数就改成不是
break;//跳出循环
}
}
return flag;//返回flag
}
int main()
{
long long n;//定义变量n
scanf("%d",&n);
for(int i=2;i<=n;i++)//循环判断
{
if(isPrime(i))//判断是,还是不是
{
printf("%d\t",i);//输出这个数
}
}
return 0;
}
注:这个不属于教程