<알고리즘 문제풀이&연습>/[C++] 프로그래머스

[Level 1] 약수의 합 (C언어 약수구하기)

사용자 BlockDMask 2017. 12. 12. 13:45
반응형

안녕하세요.

BlockDMask 입니다. 

프로그래머스 알고리즘에서

C++ 을 지원하는 문제들을 차례대로 풀어보려합니다.

[Level 1] 부터 Start !!

171102 문제 빼먹음 -> 171212 완료


0. 제목

- 프로그래머스 Level 1 약수의 합

- Programmers Level 1 sum of divisors



1. 문제 설명

- 어떤 수를 입력받아 그 수의 약수를 모두 더한 값을 반환하는 sumDivisor 함수를 완성하면 됩니다.


12가 입력이 되면 

12의 약수인 {1, 2, 3, 4, 6, 12} 가 더해져서

28이 반환되는 함수입니다.



2. 풀이 과정

입력 받은 수 n 일때

1 부터 n 까지 숫자를 하나씩 숫자를 돌리면서

n 으로 나누어 떨어지면 sum에 더하는 방식입니다.


3. 소스 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//Programmers_Level_1_sumOfDivisor
 
#include<iostream>
using namespace std;
 
int sumDivisor(int n)
{
  int sum = 0;
  for(int i=0; i<n; i++){
    if(n%(i+1== 0){    //1~n 까지.
        cout << i+1 << endl;
        sum += (i+1);
    }
  }
    return sum;
}
cs


4. 인증


<문제출처>

https://programmers.co.kr/learn/challenge_codes/146

반응형