N

(프로그래머스 c++)하샤드 수 본문

프로그래머스 알고리즘/1단계

(프로그래머스 c++)하샤드 수

naeunchan 2020. 4. 29. 09:32
728x90
반응형

우선 각 자릿수를 구하기 위해 임시 변수 tmp와 sum을 선언한다.

tmp는 x를 대입하고, tmp를 통해 자릿수를 구한다.

sum은 각 자릿수를 더한 값을 저장한다.

 

tmp가 0이면 모든 자릿수를 구하게 되므로, while문을 통해

tmp를 10으로 나눴을 때 나머지 값을 sum에 더해주고 tmp는 10으로 나눈 몫을 저장한다.

 

while을 빠져나오고, x를 각 자릿수를 더한 sum으로 나눴을 때 나머지가 0이면 true를 반환,

아니면 false를 반환한다..!

#include <string>
#include <vector>

using namespace std;

bool solution(int x) {
    int tmp = x, sum = 0;
    
    while(tmp > 0)
    {
        sum += tmp % 10;
        tmp /= 10;
    }
    
    if(x % sum == 0)
        return true;
    else
        return false;
}
728x90
반응형