以相反的顺序打印从1到N的质数

输入数字n直至计算出质数并以相反顺序显示

Input : number 30

Output : 29 23 19 17 13 11 7 5 3 2

算法

START

Step 1 -> declare variables as n, I, j, flag to 0 as int

Step 2 -> input number in n

Step 3 -> Loop For from i to n and i>1 and i—

   Step 3.1 ->. Inner loop for from j to i/2 and j>=1 and j—

      Statement If %j==0 && j!=1

         Set flag=0

         Break

      End IF

      Else

         Flag=1

      End Else

   Step 3.2 -> end inner Loop For

Step 4 -> statement IF to check flag=1

   Print i

   End IF

Step 5 -> End outer For

STOP

示例

#include <stdio.h>

int main(int argc, char const *argv[]) {

   int n, i, j, flag=0;

   printf("Enter a number\n");

   scanf("%d", &n);

   for(i=n; i>1; i--) {

      for (j = i/2; j >= 1; j--) {

         if(i%j==0 && j!=1) {

            flag = 0;

            break;

         }

         else

         flag = 1;

      }

      if(flag == 1) {

         printf("%d ", i);

      }

   }

   return 0;

}

输出结果

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

Enter a number

30

29 23 19 17 13 11 7 5 3 2

以上是 以相反的顺序打印从1到N的质数 的全部内容, 来源链接: utcz.com/z/334954.html

回到顶部