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

프로그래머스 - 하샤드 수 - C++

게임만드는학생 2023. 10. 8. 05:58

https://school.programmers.co.kr/learn/courses/30/lessons/12947

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

#include <string>
#include <vector>

using namespace std;

bool solution(int x) {
    int n = 0;
    int ori = x;
    while(x>0)
    {
        n+=x%10;
        x/=10;
    }
    if(ori%n==0)
        return true;
    else 
        return false;
}

 

설명

주어진 x 가  하샤드 수인지를 구하는 문제이다. 

하샤드 수란 모든 자릿수의 합으로 x가 나누어 떨어지면 하샤드 수이다. 

 

따라서 while문을 통해  x의 모든 자릿수를 더해서 n에 저장한다.

그리고 x가 n으로 나누어 떨어진다면 하샤드 수이므로 true를 리턴하고 아니라면 false를 리턴한다.