중첩 반복문
Coddy C++ 여정의 기초 섹션에 포함된 레슨 — 74개 중 48번째.
중첩 루프는 단순히 다른 루프 안에 있는 루프입니다. 내부 루프는 외부 루프의 매 반복마다 자신의 모든 반복을 완료합니다.
이에 대한 좋은 비유는 시계입니다. 매 시간(외부 루프)마다 분침(내부 루프)은 60분의 전체 주기를 완료해야 합니다.
중첩 루프의 예:
for (int x = 0; x < 2; x++) {
for (int y = 0; y < 2; y++) {
std::cout << x << " " << y << std::endl;
}
}
// 출력 결과:
// 0 0
// 0 1
// 1 0
// 1 1외부 루프 (x)는 두 번 실행되며, 매번 내부 루프 (y)가 두 번씩 실행됩니다.
챌린지
초급1부터 n - 1까지의 숫자를 사용하여 합이 n이 되는 모든 숫자 쌍을 찾는 프로그램을 작성하세요.
프로그램은 역순으로 된 중복 쌍을 포함하여 가능한 모든 조합을 보여주어야 합니다. 예를 들어, "1 5"와 "5 1"은 동일한 쌍의 서로 다른 배열로 간주되므로 둘 다 표시되어야 합니다. 합계가 n과 같으면 숫자를 자기 자신과 쌍을 이룰 수도 있습니다.
예를 들어 n = 6인 경우 출력은 다음과 같아야 합니다:
1 5
2 4
3 3
4 2
5 1왜냐하면:
1 + 5 = 6
2 + 4 = 6
3 + 3 = 6
4 + 2 = 6
5 + 1 = 6치트 시트
중첩 루프는 다른 루프 내부에 있는 루프입니다. 내부 루프는 외부 루프의 각 단일 반복에 대해 모든 반복을 완료합니다.
기본적인 중첩 루프 구조:
for (int x = 0; x < 2; x++) {
for (int y = 0; y < 2; y++) {
std::cout << x << " " << y << std::endl;
}
}
// 출력:
// 0 0
// 0 1
// 1 0
// 1 1외부 루프가 완전히 실행되며, 외부 루프의 각 반복에 대해 내부 루프는 모든 반복을 거칩니다.
직접 해보기
#include <iostream>
int main() {
int n;
std::cin >> n;
// 아래에 코드를 작성하세요
return 0;
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.