-2

2つの数値aとbのhcfとlcmを見つけるために、Pythonで次のプログラムを書きました。xは2つの数値のうち大きい方で、yは小さい方で、どちらもプログラムの上部で見つけようとしています。これらは後で hcf と lcm を見つけるために使用されますが、実行すると x が赤色で表示されます。理由がわかりません。

a,b=raw_input("enter two numbers (with space in between: ").split()
if (a>b):
    int x==a
else:
    int x==b
for i in range (1,x):
    if (a%i==0 & b%i==0):
        int hcf=i
print ("hcf of both is: ", hcf)
for j in range (x,a*b):
    if (j%a==0 & j%b==0):
        int lcm=j
print ("lcm of both is: ", lcm)        

lcm、hcf を見つけるこのアルゴは C で完全に機能するため、アルゴに問題があるとは思いません。構文の問題かもしれません。

4

4 に答える 4

0

ほぼ正解でしたが、取り組む必要のある Python 構文の問題がいくつかありました。

a, b = raw_input("enter two numbers (with space in between: ").split()

a = int(a)  # Convert from strings to integers
b = int(b)

if a > b:
    x = a
else:
    x = b

for i in range(1, x):
    if a % i == 0 and b % i==0:
        hcf = i

print "hcf of both is: ", hcf

for j in range(x, a * b):
    if j % a == 0 and j % b == 0:
        lcm = j
        break       # stop as soon as a match is found

print "lcm of both is: ", lcm

Python 2.7.6 を使用してテスト済み

于 2015-11-05T14:22:05.353 に答える
0
import sys
a = int(sys.argv[1])
b = int(sys.argv[2])
sa = a
sb = b
r = a % b
while r != 0:
    a, b = b, r
    r = a % b
h = b
l = (sa * sb) / h
print('a={},b={},hcf={},lcm={}\n'.format(sa,sb,h,l))
于 2015-11-05T16:14:14.687 に答える
0
a, b = raw_input("enter two numbers (with space in between: ").split()

a = int(a)  # Convert from strings to integers
b = int(b)

if a > b:
    x = a
else:
    x = b

for i in range(1, x + 1):
    if a % i == 0 and b % i == 0:
        hcf = i

print "hcf of both is:", hcf

for j in range(x, a * b + 1):
    if j % a == 0 and j % b == 0:
        lcm = j
        break       # stop as soon as a match is found

print "lcm of both is:", lcm
于 2018-06-04T14:01:45.753 に答える