In tên 5 lần sử dụng đệ quy C++

Ta yêu cầu người dùng nhập giới hạn hoặc số hạng của các số tự nhiên cần in. Chúng tôi lưu trữ giá trị đó bên trong giới hạn biến. Chúng tôi chuyển giá trị này cho một hàm có tên là display()

Hàm display() bên trong
Chúng tôi kiểm tra xem số có khác 0 hay không, trong trường hợp đó, chúng tôi gọi hàm display() tương tự theo cách đệ quy và chuyển (num-1) cho nó. Trong khối khác, chúng tôi viết điều kiện cơ sở, nghĩa là trả lại điều khiển cho hàm gọi nếu num bằng 0

Điều này in các số tự nhiên từ 1 đến giới hạn đầu vào của người dùng

Thí dụ

Nếu giới hạn = 5. Chúng tôi sao chép giá trị của giới hạn thành num. Vậy số = 5

numChức năng gọiChức năng được gọi5main()display(5)5display(5)display(4)4display(4)display(3)3display(3)display(2)2display(2)display(1)1display(1)display(0)return

Trả lại giá trị – Điều khiển dịch chuyển trở lại

HàmGiá trị trả vềreturn;hiển thị(0)1hiển thị(1)2hiển thị(2)3hiển thị(3)4hiển thị(4)5

Để biết danh sách tất cả các cuộc phỏng vấn lập trình c / câu hỏi và câu trả lời viva, hãy truy cập. Phỏng vấn lập trình C / Viva Q&A List

Để biết danh sách video hướng dẫn miễn phí về ngôn ngữ lập trình C đầy đủ, hãy truy cập. Lập trình C. Người mới bắt đầu Tiến tới Chuyên gia

Đầu vào. N, đại diện cho số lần bạn muốn in câu lệnh. đầu ra. Tuyên bố cho N lần

Đầu tiên, chúng ta tạo một lớp. Sau đó, chúng ta cần khởi tạo phương thức khởi tạo của lớp bằng cách viết câu lệnh bạn muốn in bên trong câu lệnh cout/print. Ý tưởng cơ bản được sử dụng ở đây là “Không. số lần bạn tạo đối tượng của lớp, hàm tạo của lớp đó được gọi nhiều lần. ”

Trong bài đăng này, chúng ta sẽ tìm hiểu cách in tên hoặc chuỗi nhiều lần mà không cần sử dụng bất kỳ vòng lặp hoặc hàm nào. Chúng ta có thể dễ dàng làm điều đó bằng cách sử dụng một vòng lặp sẽ chạy n lần và in tên trong n lần. Tương tự, chúng ta cũng có thể viết một hàm đệ quy để in tên n lần. Tuy nhiên, thật khó để làm điều đó mà không sử dụng vòng lặp hoặc hàm

đi đến

Chúng ta có thể giải quyết nó bằng cách sử dụng goto. goto có thể được sử dụng để di chuyển điều khiển hiện tại đến một dòng cụ thể. Vì vậy, chúng tôi sẽ sử dụng một biến đếm sẽ đếm số lần tên được in và bằng cách sử dụng goto, chương trình sẽ chạy trong một vòng lặp

Hàm gọi chính nó được gọi là hàm đệ quy. Và, kỹ thuật này được gọi là đệ quy


Làm thế nào đệ quy hoạt động?

void recurse()
{
    .. . ...
    recurse();
    .. . ...
}

int main()
{
    .. . ...
    recurse();
    .. . ...
}
In tên 5 lần sử dụng đệ quy C++
Làm việc của đệ quy

Đệ quy tiếp tục cho đến khi một số điều kiện được đáp ứng để ngăn chặn nó

Để ngăn chặn đệ quy vô hạn, nếu. câu lệnh khác (hoặc cách tiếp cận tương tự) có thể được sử dụng khi một nhánh thực hiện cuộc gọi đệ quy và nhánh khác thì không


Thí dụ. Tổng các số tự nhiên sử dụng đệ quy

#include 
int sum(int n);

int main() {
    int number, result;

    printf("Enter a positive integer: ");
    scanf("%d", &number);

    result = sum(number);

    printf("sum = %d", result);
    return 0;
}

int sum(int n) {
    if (n != 0)
        // sum() function calls itself
        return n + sum(n-1); 
    else
        return n;
}

đầu ra

Enter a positive integer:3
sum = 6

Ban đầu, sum() được gọi từ hàm main() với số được truyền dưới dạng đối số

Giả sử, giá trị của n bên trong sum() ban đầu là 3. Trong lần gọi hàm tiếp theo, 2 được chuyển đến hàm sum(). Quá trình này tiếp tục cho đến khi n bằng 0

Khi n bằng 0, điều kiện if không thành công và phần else được thực thi trả về tổng các số nguyên cuối cùng cho hàm main()

In tên 5 lần sử dụng đệ quy C++
Tổng các số tự nhiên

Ưu điểm và nhược điểm của đệ quy

Đệ quy làm cho chương trình thanh lịch. Tuy nhiên, nếu hiệu suất là quan trọng, hãy sử dụng các vòng lặp thay vì đệ quy thường chậm hơn nhiều

Điều đó đang được nói, đệ quy là một khái niệm quan trọng. Nó thường được sử dụng trong cấu trúc dữ liệu và giải thuật. Ví dụ, người ta thường sử dụng đệ quy trong các bài toán như duyệt cây

Vấn đề

Cố gắng in tên 10 lần mà không sử dụng bất kỳ vòng lặp hoặc câu lệnh goto nào trong ngôn ngữ lập trình C

Giải pháp

Nói chung, các câu lệnh lặp được sử dụng để lặp lại khối mã cho đến khi điều kiện sai

Ví dụ 1

Trong chương trình này, chúng tôi đang cố gắng in tên 10 lần mà không sử dụng câu lệnh vòng lặp hoặc goto

Bản thử trực tiếp

#include 
void printname(char* name,int count){
   printf("%03d : %s
",count+1,name);    count+=1;    if(count<10)       printname(name,count); } int main(){    char name[50];    printf("
Enter you name :");    scanf("%s",name);    printname(name,0);    return 0; }

đầu ra

Enter you name :tutorialspoint
001 : tutorialspoint
002 : tutorialspoint
003 : tutorialspoint
004 : tutorialspoint
005 : tutorialspoint
006 : tutorialspoint
007 : tutorialspoint
008 : tutorialspoint
009 : tutorialspoint
010 : tutorialspoint

ví dụ 2

Dưới đây là chương trình in tên của bạn 10 lần bằng cách sử dụng bất kỳ vòng lặp hoặc câu lệnh goto nào –

Bản thử trực tiếp

#include 
int main(){
   char name[50],i;
   printf("
Enter you name :");    scanf("%s",name);    for(i=0;i<10;i++){       printf("%s
",name);    }    return 0; }

đầu ra

Enter you name :TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint

In tên 5 lần sử dụng đệ quy C++


In tên 5 lần sử dụng đệ quy C++

Làm cách nào để in tên của bạn 10 lần trong C?

Chương trình C in tên bạn 10 lần .
+ 4. Nỗ lực? . 27 giờ tối. .
+ 1. You can go through this code :- #include int main() { char name[25]; scanf("%s", name); for (int i = 0; i < 10; i++) { printf("%d - %s\n", i+1, name); } return 0; } .. .
+ 1. Mã Aditya Dhiman đang hoạt động, vậy câu hỏi của bạn là gì?

Làm cách nào để in Hello World 5 lần bằng C?

int chính ()
int tôi;
for(i=1;i<=10;printf("Xin chào thế giới. \n",i++));
trả về 0;

Làm cách nào để in nhiều tên trong C?

Để in một chuỗi, chúng ta có thể sử dụng printf với công cụ xác định định dạng %s hoặc hàm put() . Trong khi printf có thể in nhiều chuỗi cùng một lúc, đặt chỉ có thể in một chuỗi tại một thời điểm. printf có thể in nhiều chuỗi cùng một lúc, trong khi đặt chỉ có thể in một chuỗi mỗi lần.

Làm cách nào để in Hello 3 lần trong C?