編程成長日記——求素數

  人生老是須要一個契機纔會去改變,其實與其說是契機,也不過是本身再給本身一次機會而已。ide

  重拾C語言,我決定再給本身一次機會,不知道多年之後的我再次翻看這篇博客的時候會是怎樣的心情,會不會記得當下身爲大三狗的我終於想要告別一事無成,一無所得,一敗塗地的頹廢而不自知的大學生活,我不想說是爲了理想而奮鬥,更不是爲了中華崛起,只是爲了我本身,僅此而已。優化

  感謝比特,給我一次改變的機會。spa

  從零開始學起C語言。博客


--------------------------------------煽情分割線-------------------------------------------it


求素數代碼io

#include<stdio.h>
//求100~200之間的素數 
int main() 
{ 

 int i=0;
 int j=0;
 for (i=100;i<200;i++) 
 {
   for(j=2;j<=(i/2);j++) 
   {
     if(i%j==0) 
     break; 
   } 
   if(i%j!=0) 
   printf("是素數的數有:%d \n",i);
   
 }
  
  return 0;

}

這是我本身最開始寫的代碼,通過老師講解,發現它其實還能夠進行優化:class

#include<stdio.h>
//求100~200之間的素數 
int main() 
{ 

 int i=0;
 int j=0;
 for (i=101;i<200;i+=2) //除去偶數,減小循環次數 
 {
   for(j=3;j<=(i/2);j+=2) 
   {
     if(i%j==0) 
     break; 
   } 
   if(i%j!=0) 
   printf("是素數的數有:%d \n",i);
   
 }
  
  return 0;

}

在此,還須要注意的地方還有:循環

求大於2的素數的方法不單單隻有n/2,還能夠是n-1;或者是sqrt(n);方法

P.S:在使用sqrt時切記要在頭文件中加上#include<math.h>im

相關文章
相關標籤/搜索