C++의 루프는 변경되지 않았습니다. while 루프, do-while 루프 및 for 루프에는 여전히 많은 break 및 continue 사용을 포함하여 사용 방법에 차이가 없습니다. 이 부분의 개념을 배우고 통합하는 문제입니다.
소수의 개념을 이해한 후에는 훈련장에서 문제 1143을 살펴보겠습니다. 소수의 개념을 이해한 후에는 임의의 숫자 N에 대해 2부터 N-1까지 순차적으로 시도해야 합니다. N으로 나눌 수 있는 요소가 있는지 알아보세요. 요소가 없으면 소수이고, 그렇지 않으면 분명히 C++ 코드입니다. 다음과 같습니다:
#include<iostream>usingnamespacestd;intmain(){intn,i;cin>>n;for(i=2;i<n;i++){if(n%i==0)break;}if(i>= n)cout<<1<<endl;elsecout<<0<<endl;return0;}
테스트 실행 결과는 다음과 같습니다.
기존 규칙에서는 코드를 직접 입력하고 로컬에서 테스트한 다음 제출이 통과된 후 진행해도 괜찮습니다.
다음으로 C++의 루프와 관련된 또 다른 질문을 살펴보겠습니다. ACM 대회에서 비교적 흔한 문제이기 때문에 훈련장에서 문제는 1085번 문제입니다. A+B이지만 여러 세트의 테스트 데이터입니다. C++ 작성 방법은 다음과 같습니다.
#include<iostream>usingnamespacestd;intmain(){inta,b;while(cin>>a>>b){cout<<a+b<<endl;}return0;}
실행 효과는 다음과 같습니다.
while 루프의 조건이 cin 문으로 작성되는 이유는 무엇입니까? 원리는 C언어에서 while(scanf(%d%d,&a,&b)==2)로 쓰는 것과 똑같습니다. 모두 반환값, 즉 앞서 말씀드린 cin 의 반환값을 판단합니다. cin은 istream 스트림을 반환합니다. 문제가 발생하고 수신이 실패하면 false가 반환되고 루프가 종료됩니다.
꼭 컴퓨터에서 직접 테스트 해보고 C++를 이용한 교육장에서 1085~1092번 문제를 풀어보세요.