Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++에서 루프와 재귀 없이 1부터 100까지 출력하는 방법


루프를 사용하지 않고 숫자를 출력하는 방법은 여러 가지가 있습니다. 대표적으로 재귀 함수를 활용하는 방법, goto 문을 사용하는 방법, 그리고 main() 함수 외부에 별도의 함수를 정의하는 방식이 있습니다.

아래는 C++에서 goto 문을 활용하여 1부터 입력받은 최댓값 x까지의 숫자를 출력하는 예제입니다. x에 100을 입력하면 1부터 100까지 모두 출력할 수 있습니다.

예제 코드

#include <bits/stdc++.h>
using namespace std;
int main() {
    int count=1;
    int x;
    cout << "Enter the max value of x : ";
    cin >> x;
    PRINT:
    cout << " " << count;
    count++;
    if(count<=x)
    goto PRINT;
    return 0;
}

실행 결과

Enter the max value of x : 1

위 프로그램은 for나 while 같은 루프문, 그리고 재귀 호출 없이 오직 goto 문만으로 반복 작업을 수행하여 숫자를 출력합니다. 핵심 로직은 다음 부분입니다.

PRINT:
cout << " " << count;
count++;
if(count<=x)
goto PRINT;

PRINT:라는 라벨을 선언한 후, 현재 count 값을 출력하고 값을 1씩 증가시킵니다. 이후 count가 최댓값 x보다 작거나 같으면 goto PRINT;를 통해 다시 라벨 위치로 이동하여 동일한 과정을 반복합니다. 조건이 거짓이 되는 순간 반복이 종료되며 프로그램이 정상적으로 끝납니다.

참고로 goto 문은 코드 흐름을 임의로 이동시키기 때문에 가독성과 유지보수 측면에서 일반적으로 권장되지 않습니다. 실무에서는 재귀 함수나 STL 알고리즘을 활용하는 것이 더 안전하고 깔끔한 대안이 될 수 있습니다.