Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

In số nguyên tố gần nhất được tạo bằng cách cộng các số nguyên tố vào N

Theo câu hỏi, nhiệm vụ là tìm số nguyên tố gần nhất bằng cách cộng số nguyên tố bắt đầu từ 2 nếu số N không phải là số nguyên tố.

Input: N=6 Output: 11

Giải thích

Vì 6 không phải số nguyên tố, cộng số nguyên tố đầu tiên vào 6 tức là 2 sẽ ra 8. 8 cũng không phải số nguyên tố, cộng số nguyên tố tiếp theo sau 2 là 3 sẽ cho 8+3 = 11. Do đó 11 là số nguyên tố, đầu ra sẽ là 11.

Thuật toán

START
Step 1- > declare num=15, i = num/2
Step 2 -> Loop For k=2 and k<=i and k++
  Set I=k/2
  Loop For j=2 and j<=l and j++
    Set flag=0;
    If k%j=0
      Set flag=1
      Break
    End
  End
  IF flag=0
    Set num=num+k;
  End IF
  Set a=num/2
  Loop For m=2 and m<=a and m++
    Set flag1=0;
    IF num%m=0
      Set flag1=1
      break
    End
  END
  If flag1=0
    Print num
  End
END
STOP

Ví dụ

#include<stdio.h>

int main(){
  int num =15 ;
  int i,k,j,sum=0,flag=0,l,flag1=0,a,m;
  i=num/2;
  for(k=2;k<=i;k++) {
    l=k/2;
    for(j=2;j<=l;j++) {
      flag=0;
      if(k%j==0) {
        flag=1;
        break;
      }
    }
    if(flag==0) {
      num=num+k;
    }
    a=num/2;
    for(m=2;m<=a;m++) {
      flag1=0;
      if(num%m==0) {
        flag1=1;
        break;
      }
    }
    if(flag1==0){
      printf("%d",num);
      return 0;
    }
  }
}

Kết quả

Nếu chúng ta chạy chương trình trên thì nó sẽ tạo ra đầu ra sau

17