Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 짝수 자리 숫자의 곱이 홀수 자리 숫자의 합으로 나누어 떨어지는지 확인하십시오.

<시간/>

숫자 n이 있다고 가정하면 n의 짝수 자리 숫자의 곱이 n의 홀수 자리 숫자의 합으로 나누어 떨어지는지 확인해야 합니다. 장소는 오른쪽에서 왼쪽으로 계산을 시작합니다. 가장 오른쪽이 1번 위치에 있습니다.

따라서 입력이 n =59361과 같으면 출력은 (1*3*5) =(6+9)와 같이 True가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • digit_count :=주어진 숫자 n의 숫자 개수
  • 총계:=0, 생산량:=1
  • n> 0일 때 수행
    • digit_count가 짝수이면
      • prod :=prod * n의 마지막 숫자
    • 그렇지 않으면
      • total :=total + n의 마지막 숫자
    • n :=(n / 10)의 몫
    • digit_count :=digit_count - 1
  • prod를 총계로 나눌 수 있는 경우
    • 참 반환
  • 거짓을 반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

예시 코드

from math import log10

def solve(n):
   digit_count = int(log10(n))+1
   total = 0
   prod = 1
   while n > 0 :
      if digit_count % 2 == 0 :
         prod *= n % 10
      else:
         total += n % 10
        
      n = n // 10
      digit_count -= 1
 
   if prod % total == 0:
      return True
   return False
   
n = 59361
print(solve(n))

입력

59361

출력

True