菜鸟编程练习生之<素数的输出>循环与条件语句

2021/11/2 22:39:54

本文主要是介绍菜鸟编程练习生之<素数的输出>循环与条件语句,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

int main()
{
        int a = 0;
       int count = 0;
       for (a = 100;a <= 200;a++)
     {

          int j = 0;
          for (j = 2;j < a;j++)
          {
              if (a % j == 0)
                {
                    break;
                }
           }
              if (j == a)
               {
                   count++;
                   printf("%d ", a); 
                }

        }
            printf("\ncount = %d\n", count);

         return 0;

  }

优化后

int main()
{
       int a = 0;
       int count = 0;
       for (a = 100;a <= 200;a++)         for (a = 101;a <= 20 ;a+=2)              //偶数绝对不是素数,排除偶数在奇数里面选又可以减少运算
    { 
       int j = 0;
        for (j = 2;j < sqrt(a);j++)                           //用开平方代替a 减少运算
    {
       if (a % j == 0)
      {
        break;
       } 
 }
      if (j > sqrt(a))                                           其实,也可以把开方换成a/2,那么下面就是if(j==a/2)也可以达到目的
    {
       count++;
       printf("%d ", a);

     }

}
      printf("\ncount = %d\n", count);



这篇关于菜鸟编程练习生之<素数的输出>循环与条件语句的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程