牛客基础算法题:1013-打印质数表
思路:给定一个范围N,从2到N判断,如果有约数则不为质数,没约数则为质数
#include<iostream>
using namespace std;
int main()
{
int N, num = 0;
cin >> N;
if (N < 2)
{//质数从2起步,如果小于2则直接返回空字符串
return ' ';
}
else
{//如果大于2则直接输出2和一个空格符
cout << 2 << " ";
}
for (int i = 3; i <=N; i++)
{//因为是大于2且输出了2,故从3开始;最后一个数也要判断 所以是<=
for (int j = 2; j < i; j++)
{//只需要将这个数从2到小于这个数的范围内求余一遍
if (i % j == 0)
{//如果有余数则计数器加一
num++;
}
}
if (num == 0)
{//判断是否有余数,如果没有则直接输出质数i
cout << i << " ";
}
num = 0;//循环一次计数器为0
}
}