ที่นี่ ตามโจทย์ ต้องแสดงรูปแบบโดยใช้วิธีการเรียกซ้ำ (Recursive)
Recursive function คือฟังก์ชันที่เรียกตัวเอง n ครั้ง อาจมี recursive function หลายตัวในโปรแกรม ปัญหาของ recursive function คือความซับซ้อน
อัลกอริทึม
START
Step 1 -> function int printpattern(int n)
If n > 0
Printpattern(n-1)
Print *
End IF
End
Step 2 -> function int pattern(int n)
If n > 0
pattern(n-1)
End IF
Printpattern(n)
Print \n
End
STOP
ตัวอย่างโค้ด (C)
#include <stdio.h>
int printpattern(int n) {
if (n > 0) {
printpattern(n-1);
printf("*");
}
}
int pattern(int n) {
if (n > 0) {
pattern(n-1);
}
printpattern(n);
printf("\n");
}
int main(int argc, char const *argv[]) {
int n = 7;
pattern(n);
return 0;
}
ผลลัพธ์
* ** *** **** ***** ****** *******