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

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

<시간/>

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

따라서 입력이 n =59361과 같으면 (1*3*5)가 3으로 나눌 수 있으므로 출력은 True가 됩니다.

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

  • digit_count :=주어진 숫자 n의 숫자 개수
  • 생산량:=1
  • n> 0일 때 수행
    • digit_count가 짝수이면
      • prod :=prod * n의 마지막 숫자
    • n :=(n / 10)의 몫
    • digit_count :=digit_count - 1
  • prod가 k로 나누어지면
    • 참 반환
  • 거짓을 반환

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

예시 코드

from math import log10

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

입력

59361, 3

출력

True