輸出100~200之間的素數
阿新 • • 發佈:2019-01-03
如果要輸出一個素數,首先要判斷它是不是素數。大家都知道素數是隻能被1和它本身除盡的數,1既不是素數也不是合數,2是最小的素數同時也是唯一一個是偶數的素數,所以要判斷一個數是不是素數,我想到了三種方法。
假設這個數為a
法一:讓a依次和2到a-1相除,如果a不能被2到a-1之間的任何一個整數整除,則a為素數;
法二:讓a依次和2到a/2相除,如果a不能被2到a/2之間的任何一個整數整除,則a為素數;
法三:讓a依次和2到sqrt(a)相除,如果a不能被2到sqrt(a)之間的任意一個整數整除,則a為素數;
由於法一效率比較低,就在此不寫了。下面我寫出了兩種方法:
法二:
#include<stdio.h > int main()//求100到200以內的素數; { int i, j,n=0; for (i = 100; i <= 200; i++) { for (j = 2; j <= i / 2; j++) { if (i%j == 0) { break; } } if (j>i/2) { printf("%d ",i); n = n + 1; if (n%5==0) printf("\n"); } } return 0; } 法三: #include<stdio.h> #include<math.h> int main() { int i,j,k,n=0; for(i=100;i<=200;i++) { k=sqrt(i); for(j=2;j<=k;j++) { if(i%j==0) { break; } } if(j>k) { printf("%d ",i); n=n+1; if (n % 5 == 0) printf("\n"); } } return 0; }