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

Pythonで偶数と奇数の桁の積が等しいかどうかを確認します


数nがあるとします。奇数桁と偶数桁の積が同じかどうかを確認する必要があります。

したがって、入力がn =2364の場合、奇数の積は2 * 6 =12であり、偶数の積は3 * 4 =12であるため、出力はTrueになります。

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

  • num <10の場合、
    • Falseを返す
  • odd_place:=1、even_place:=1
  • num> 0の場合、do
    • d:=numの最後の桁
    • odd_place:=odd_place * d
    • num:=(num / 10)の商
    • numが0と同じ場合、
      • 休憩
    • d:=numの最後の桁
    • even_place:=even_place * d
    • num:=(num / 10)の商
  • odd_placeがeven_placeと同じ場合、
    • Trueを返す
  • Falseを返す

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

def solve(num):
   if num < 10:
      return False
   odd_place = 1
   even_place = 1
   while num > 0:
      d = num % 10
      odd_place *= d
      num = num//10
      if num == 0:
         break
      d = num % 10
      even_place *= d
      num = num//10
   if odd_place == even_place:
      return True
   return False
num = 2364
print(solve(num))

入力

2364

出力

True

  1. 奇数桁と偶数桁の合計の差のためのPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 −整数の場合、奇数桁の合計と偶数桁の合計の差が0であるかどうかを計算する必要があります。 ブルートフォースアプローチでは、数値のすべての偶数桁と奇数桁の合計を計算し、それらを減算して答えを計算します。 計算時間を短縮するために、精神数学の概念を使用します。 上記の制約は、数値が11で割り切れる場合にのみ当てはまります。したがって、以下の実装では、数値の11で割り切れる可能性を確認します。 ここで、複雑さはO(n)から、分割可能性と比較に関係する一定の時間に減少します。 それでは

  2. 数値が奇数かPythonを使用しているかを確認する方法は?

    Pythonのモジュロ(%)演算子(剰余演算子とも呼ばれます)は、数値が奇数か偶数かを判断するのに役立ちます。数値を2で割った余りを取得します。0の場合は偶数、それ以外の場合は奇数です no=int(input(enter number)) if no%2==0:     print ({} is even.format(no)) else:     print ({} is odd.format(no)) 出力 enter number25 25 is odd enter number40 40 is even