หา factor

Topic: 
 

หาค่า factor ของ 2 จำนวนเต็ม
สมการคือ (nX * x) + (nY * y) = z
รู้ x, y, และ z
อยากทราบจำนวน nX และ nY ที่เป็นจำนวนเต็ม ว่ามีค่าเท่าไหร่มั่ง

ตั้งชื่อโปรแกรมว่า d.calc2.py
$ vi d.calc2.py

#!/usr/bin/env python
import sys
if sys.argv[3]==None:
  nSum=input("Enter sum amount: ")
  nXparms = input("Enter x parms: ")
  nYparms = input("Enter y parms: ")
else:
  nSum=eval(sys.argv[1])
  nXparms=eval(sys.argv[2])
  nYparms=eval(sys.argv[3])
#
nX=0
nY=1
print "nX*%f + nY*%f = %f" % (nXparms, nYparms, nSum)
while nY>0:
  nY=float(nSum-nXparms*nX)/nYparms
  nRemain=float(nY-int(nY))
  if nRemain==0:
    print "nX=%i, nY=%i" % (nX,nY)
  #
  nX=nX+1
#

ทดลองเรียกใช้งาน
$ ./d.calc2.py 50 1.5 2.5
nX*1.500000 + nY*2.500000 = 50.000000
nX=0, nY=20
nX=5, nY=17
nX=10, nY=14
nX=15, nY=11
nX=20, nY=8
nX=25, nY=5
nX=30, nY=2

 

Syndicate

Subscribe to Syndicate

Who's online

There are currently 0 users online.