打印通过将质数加到N形成的最接近的质数

根据问题,如果数字N不是素数,则任务是通过添加从2开始的素数来找到最接近的素数。

Input: N=6

Output: 11

说明

由于6不是素数,所以将第一个素数添加到6,即2,这将得出8,现在8也不是素数,现在在2之后加下一个素数,即3,这将得出8 + 3 =11。因此11是素数输出11。

算法

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

示例

#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;

      }

   }

}

输出结果

如果我们运行上面的程序,那么它将生成以下输出

17

以上是 打印通过将质数加到N形成的最接近的质数 的全部内容, 来源链接: utcz.com/z/326644.html

回到顶部