728x90
[목적]
C++을 이용해 자연수 N을 입력 받은 후 1부터 N까지의 수 중 M의 배수합을 출력하는 프로그램을 만든다.
[입력 예제]
15 3
[출력 예제]
45
N은 15, M은 3으로 1부터 15까지의 수 중 3의 배수는 [3, 6, 9, 12, 15]가 있다.
해당 수들의 합은 45로 출력결과 역시 45가 출력되면 된다.
[필요 지식]
cin
cin은 입력받는 함수로 std::cin >> n >> m; 과 같이 n과 m을 입력 받을 수 있다.
cout
cout은 출력하는 함수로 std::cout << result; 와 같이 result값을 출력 할 수 있다.
for
for은 반복문으로, for(초기 식; 조건 식; 변화 식;) {} 으로 사용이 가능하며, 조건 내의 초기 식을 변화식에 맞춰 반복하는 구조이다.
if
if는 조건문으로, if(조건 식){} 으로 사용이 가능하며, 조건이 참이라면 if문 안이 실행되며 그렇지 않으면 실행하지 않는다.
[코드]
#include <iostream>
using namespace std; //std namespace 사용
int main(int argc, char** argv) {
int n, m; // (3 <= M < N <=1000)
int result = 0; //결과 값
while(true){ //n과 m이 조건에 어긋나면 반복 실행
cin >> n >> m;
if(m < n && m >=3 && n <=1000) //n과 m이 조건에 맞으면 while문 탈출
break;
cout << "n과 m을 다시 입력해주세요. (3 <= M < N <=1000)" << endl;
}
for (int i = 1; i <= n; i++){ //i는 1부터 n까지 값을 1씩 올려가며 반복 실행
if(i%m == 0) //i가 m의 배수 일 경우 result에 i값 더하기
result += i;
}
cout << result; //결과 출력
return 0;
}
[실행 결과]
728x90
반응형
'문제풀이 > C++' 카테고리의 다른 글
[C++] 숫자만 추출 (0) | 2020.12.27 |
---|---|
[C++] 나이 계산 (0) | 2020.12.27 |
[C++] 나이 차이 (0) | 2020.12.27 |
[C++] 진약수의 합 (0) | 2020.12.26 |
[C++] 자연수의 합 (0) | 2020.12.26 |