본문 바로가기

문제풀이/C++

[C++] 1부터 N까지의 M의 배수 합

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