티스토리 뷰

Programmers

[Level.2] 하샤드 수

llilliiillliill 2017. 11. 8. 19:00

문제


양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다.


예를 들어, 18의 자릿수 합은 1+8 = 9 이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다.


#Harshad

Harshad 함수는 양의 정수 n을 매개변수로 입력받습니다.

이 n이 하샤드수 인지 아닌지 판단하는 함수를 완성하세요.


예를 들어, n이 10, 12, 18이면 True를 리턴 11, 13 이면 False를 리턴하면 됩니다.


풀이(Java)


public class HarshadNumber{
	public boolean isHarshad(int num){
		int a,b,c,d;
		int result = 0;
		if(num/10 >= 10) {
			a = num/100;
			b = num%100;
			c = b/10;
			d = b%10;
			result = num%(a+c+d);
		} else {
			a = num/10;
			b = num%10;
			result = num%(a+b);
		}
		if(result == 0) {
			return true;
		}
		return false;
	}
  
       // 아래는 테스트로 출력해 보기 위한 코드입니다.
	public static void  main(String[] args){
		HarshadNumber sn = new HarshadNumber();
		System.out.println(sn.isHarshad(18));
	}
}


댓글