打印从1到100的质数

Print the prime numbers from 1 to 100

本文关键字:打印      更新时间:2023-10-16

下面的代码似乎没有打印从1到100的质数。我正在运行两个for循环,其中我找到模数,然后更新计数值(c)。

using namespace std;
int main(){
    for(int i=0,c=0;i<100;i++){
        for(int j=1;j<=i;j++){
            if(i%j==0){
                c++;
            }
        }
         if(c<=2){
                cout<<i<<"n";
            }
    }
    return 0;
}
  for(int i=0,c=0;i<100;i++){

外循环第一次迭代后,c变为非零,并在后续迭代中继续递增。每次外循环迭代都需要设置c=0

  int c=0;
  for(int i=0;i<100;i++){
  c=0;
  ...

另外,您可能希望在查找数字是否为素数时查看优化,就像您可以从2运行到sqrt(i)的内部循环,然后检查c>0

声明一个整型变量count;

 for(int i=1;i<=100;i++)
 {
       count=0;
       for(int j=i;j>=1;j--)
       {
              if(i%j==0)
              {
                   count++;
              }
       }
       if(count==2)
       {
              cout<<i<<"n";
       }
 }