
Anh chị nào giúp em sử dụng đệ quy để in ra hình giống 2 hình trên đi ạ , em suy nghĩ hoài không ra , em cảm ơn !

Anh chị nào giúp em sử dụng đệ quy để in ra hình giống 2 hình trên đi ạ , em suy nghĩ hoài không ra , em cảm ơn !
#include <stdio.h>
#include <stdlib.h>
int x = 6;
int y = 0;
void recur(int n)
{
for(int i = 1; i <= x; i++)
{
if(i < n)
printf("-");
else
printf("%i", i);
}
printf("\n");
if(y==0 && 2*n >= (x + 2))
{
n--;
if(2*n == x)
{
y=1;
recur(n+1);
}
else
recur(n);
}
else if(n < x )
{
y =1;
n++;
recur(n);
}
}
int main()
{
printf("put size:");
scanf("%d", &x);
recur(x);
return 0;
}
Mình mới học code, chưa thật mạch lạc nhưng đoạn trên chạy theo yc của bạn đc.
Bài giải của mình không đúng với đề bài yêu cầu.
Nhưng nghĩ đi nghĩ lại thì đề bài nó hơi sai sai… bắt viết function có 1 tham số, sao mà làm nổi !!!
<?php
// Recursive way
function recursiveTriangle($n, $r = 1)
{
// middle position
$middle = round($n/2);
// printing column
for ($c=1; $c <= $n; $c++) { // column
if ($r<=$middle) echo $c < $n-$r+1 ? "_" : $c;
else echo $c <= $r-1 ? "_" : $c;
}
echo "\n";
$r++;
// recursive row
if ($r<=$n) recursiveTriangle($n, $r);
}
$n = 9;
recursiveTriangle($n);
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?