Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

루프를 사용하지 않고 숫자 시리즈를 인쇄하는 C 프로그램

<시간/>

이 문제에서는 두 개의 숫자 N과 K가 주어집니다. 우리의 임무는 루프를 사용하지 않고 숫자 시리즈를 인쇄하는 프로그램을 만드는 것입니다.

인쇄될 시리즈는 n에서 시작하여 0 또는 음수가 될 때까지 k만큼 뺍니다. 그 후, 다시 n이 될 때까지 k를 추가하기 시작합니다. 이 과정에서 루프를 사용할 수 없습니다.

문제를 이해하기 위해 예를 들어 보겠습니다.

입력

n = 12 , k = 3

출력

12 9 6 3 0 3 6 9 12

루프를 사용하지 않고 이 문제를 해결하려면 재귀를 사용합니다. 스스로를 다시 호출하는 재귀 함수를 만들고 숫자 값을 계속 확인하여 덧셈이나 뺄셈 중 어떤 연산이 숫자에 해당하는지 확인합니다.

이 함수는 값을 빼거나 더해야 하는지 여부를 추적하는 데 도움이 되는 플래그를 사용합니다.

루프를 사용하지 않고 숫자 시리즈를 인쇄하는 C 프로그램

// 루프를 사용하지 않고 숫자 시리즈를 인쇄하는 C 프로그램

예시

#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;
}

출력

시리즈는 -

12 8 4 0 4 8 12