주어진 숫자가 하샤드 숫자인지 판단해야 하는 경우 단순 루프와 '%' 연산자, '+' 연산자 및 '//' 연산자를 사용할 수 있습니다.
Harshad 수는 Niven 수라고도 합니다. 밑수가 정수인 숫자로, 그 밑수로 쓸 때 그 자리의 합으로 나눌 수 있는 정수입니다.
아래는 동일한 데모입니다 -
예
my_num = 134 remaining = sum_val = 0 print("A copy of the number to be checked is being made...") my_num_copy = my_num; while(my_num > 0): remaining = my_num%10; sum_val = sum_val + remaining; my_num = my_num//10; if(my_num_copy % sum_val == 0): print(str(my_num_copy) + " is a Harshad number"); else: print(str(my_num_copy) + " isn't a Harshad number");
출력
A copy of the number to be checked is being made... 134 isn't a Harshad number
설명
- 숫자가 정의됩니다.
- 다른 합계 변수에 값 0이 할당됩니다.
- 숫자는 0보다 큰지 확인하고 모듈러스 연산을 수행합니다.
- 이 결과는 '합'에 더해지고 숫자는 다시 바닥을 10으로 나눈 값입니다.
- 숫자와 합을 나눈 나머지가 0이면 하샤드 숫자로 간주합니다.
- 그렇지 않으면 Harshad 번호로 간주되지 않습니다.