ロシアの農民の掛け算/古代エジプトの掛け算を行うことになっているPython3.3のプログラムの助けが必要です。割り当ては、「「A」と「B」が乗算される2つの整数である場合、「B」がそれ以上除算できず、ゼロでなくなるまで、「A」を2で乗算し、「B」を2で除算することを繰り返します( 「A」の乗算と「B」の除算の各セットで、「B」の値が奇数の場合は、「A」の値を合計に加算します。最後に、すべての「A」値(「B」が奇数の場合)は、元の「A」と「B」の入力の積に等しくなければなりません。つまり、「B」が奇数であるすべての「A」値を合計します。そしてそれは"の積に等しい(または近い)でしょう
編集
私はいくつかの質問を間違って表現したかもしれません。
次に例を示します。
「A」が34、「B」が19の場合、「A」に2を掛け、「B」を各行に2で割ります。
「A」「B」
(34)(19)(「B」は奇数、合計に「A」を追加)
(68)(9)(「B」は奇数、合計に「A」を追加)
(136)(4)(「B」は偶数、「A」の値は無視)
(272)(2)(「B」は偶数、「A」の値は無視)
(544)(1)( "B"は奇数、合計に "A"を追加)
「B」が奇数である「A」のすべての値を合計すると、(34 + 68 + 544 = 646)が得られます。これは、「A」と「B」を掛けただけの値(34 * 19 = 646)です。 )。
私が問題を抱えているのは、「B」が奇数の場合は常に「A」を合計に追加することです。
これは私がこれまでに持っているものです、
x = int(input("What is the first number? "))
y = int(input("What is the second number? "))
answer = 0
while y != 0:
if (y%2 != 0):
x*2
y//2
answer == answer + x
if (y%2 == 0):
x*2
y//2
print("the product is",(answer))
私はPythonとプログラミングに非常に慣れていないので、なぜそれが間違っているのかについてのヘルプや説明をいただければ幸いです。