Computer >> Máy Tính >  >> Lập trình >> lập trình C

Chương trình C để in chuỗi số mà không cần sử dụng bất kỳ vòng lặp nào

Trong bài toán này, chúng ta được cung cấp hai số N và K. Nhiệm vụ của chúng ta là tạo một chương trình in chuỗi số mà không cần sử dụng bất kỳ vòng lặp nào.

Chuỗi sẽ được in sẽ bắt đầu từ n và sẽ bị trừ đi cho k cho đến khi nó trở thành 0 hoặc âm. Sau đó, chúng ta sẽ bắt đầu thêm k vào nó cho đến khi nó trở thành n. Nếu quá trình này, chúng tôi không thể sử dụng bất kỳ loại vòng lặp nào.

Hãy lấy một ví dụ để hiểu vấn đề,

Đầu vào

n = 12 , k = 3

Đầu ra

12 9 6 3 0 3 6 9 12

Để giải quyết vấn đề này mà không cần sử dụng vòng lặp, chúng ta sẽ sử dụng đệ quy. Chúng tôi sẽ tạo một hàm đệ quy sẽ tự gọi lại và kiểm tra giá trị của số để đảm bảo phép toán nào ngoài phép cộng hoặc phép trừ là một trên số.

Hàm sẽ sử dụng một cờ giúp chúng tôi theo dõi xem giá trị sẽ bị trừ đi hay được cộng vào.

Chương trình C để in chuỗi số mà không cần sử dụng bất kỳ vòng lặp nào

// Chương trình C để in chuỗi số mà không sử dụng bất kỳ vòng lặp nào

Ví dụ

#include <iostream>
using namespace std;
void PrintSeriesRec(int current, int N, int K, bool flag){
   cout<<current<<"\t";
   if (current <= 0)
      flag = !flag;
   if (current == N && !flag)
      return;
   if (flag == true)
      PrintSeriesRec(current - K, N, K, flag);
   else if (!flag)
      PrintSeriesRec(current + K, N, K, flag);
}
int main(){
   int N = 12, K = 4;
   cout<<"The series is : \n";
   PrintSeriesRec(N, N, K, true);
   return 0;
}

Đầu ra

Bộ truyện là -

12 8 4 0 4 8 12