30/09/2018, 23:36

Bài tập có sử dụng đệ quy!

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 !

anon45952904 viết 01:44 ngày 01/10/2018
#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.

Tài Sáng viết 01:38 ngày 01/10/2018

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);
Bài liên quan
0