Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで、偶数の桁の積が数値の奇数の桁の合計で割り切れるかどうかを確認します


数nがあるとすると、nの偶数の桁の積がnの奇数の桁の合計で割り切れるかどうかを確認する必要があります。場所は右から左に数え始めます。一番右は場所1です。

したがって、入力がn =59361のような場合、出力は(1 * 3 * 5)=(6 + 9)のようにTrueになります。

これを解決するには、次の手順に従います-

  • digit_count:=指定された数値nの桁数
  • 合計:=0、製品:=1
  • n> 0の場合、do
    • digit_countが偶数の場合、
      • prod:=prod*nの最後の桁
    • それ以外の場合、
      • 合計:=合計+nの最後の桁
    • n:=(n / 10)の商
    • digit_count:=digit_count-1
  • prodが合計で割り切れる場合、
    • Trueを返す
  • Falseを返す

理解を深めるために、次の実装を見てみましょう-

サンプルコード

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

  1. リスト内の偶数と奇数をカウントするPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが与えられたので、リスト内の偶数と奇数を数える必要があります。 以下で説明する3つの方法があります- アプローチ1-力ずくのアプローチを使用する 例 list1 = [21,3,4,6,33,2,3,1,3,76] even_count, odd_count = 0, 0 # enhanced for loop for num in list1:    #even numbers    if num % 2 == 0:      

  2. 配列内のすべての桁を使用して3つの数値で割り切れる可能性があるかどうかを確認するPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 整数の配列入力が与えられた場合、3で割り切れるように、これらの数値で使用可能なすべての数字を使用して整数を作成できるかどうかを確認する必要があります。 ここでは、整数の配列と配列の長さという2つの引数を取る関数を生成します。 以下に示す実装は、精神数学の概念に基づいて機能します。ここでは、桁の合計が3で割り切れる場合、数値は3で割り切れることがわかります。 次に、以下の実装を見てみましょう- 例 def isPossibleToMakeDivisible(arr, n): &nbs