質數

題目:質數
程式碼:

#include <stdio.h>
#include <stdlib.h> 

int main(void) {
 int a,i,j;
 int k,c=0;
 int arr[500];
 scanf("%d",&a);
 if(a==1|a>1000){
  printf("數值錯誤");
 }
 for(i=a;i>=2;i--){//質數的定義來寫
  for(j=2;j<=i;j++){
   if(i%j==0){ 
    c++;    
   }
  }
  if(c==1){
   arr[k] = i;
   printf("%d,",arr[k]);
   k++;
  }
  
  c=0;
 }
 printf("\n");
 int l;
 for(l=0;l<k;l++){ //印出相鄰兩質數差2的結果
  if(arr[l] - arr[l+1]==2){
   if(arr[l]==2 && arr[l+1]==0){
    break;
   }
   printf("{%d,%d}",arr[l],arr[l+1]);
   
  }
 }
 system("pause");
 return 0;
} 

留言

熱門文章