รับตัวเลข n แล้วคำนวณและแสดงจำนวนเฉพาะจาก 1 ถึง n ในลำดับย้อนกลับ
Input: 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 i%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
ตัวอย่างโค้ด (C)
#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