Ở đây, theo yêu cầu bài toán, mẫu số cần được hiển thị bằng cách tiếp cận đệ quy.
Hàm đệ quy là hàm tự gọi chính nó n lần. Có thể có 'n' hàm đệ quy trong một chương trình. Vấn đề khi làm việc với hàm đệ quy là độ phức tạp của chúng.
Thuật toán
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
STOPVí dụ
#include <stdio.h>
int printpattern(int n) {
if(n>0) {
printpattern(n-1);
printf("*");
}
}
int pattern(int n) {
if(n>0) {
pattern(n-1); //sẽ in mẫu đệ quy
}
printpattern(n); //sẽ giảm n đệ quy.
printf("\n"); //xuống dòng
}
int main(int argc, char const *argv[]) {
int n = 7;
pattern(n);
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.
* ** *** **** ***** ****** *******