On Jan 9, 7:10 am, aregee <rahul....@gmail.com> wrote: > Double Squares > A double-square number is an integer X which can be expressed as the > sum of two perfect squares. For example, 10 is a double-square because > 10 = 32 + 12. Your task in this problem is, given X, determine the > number of ways in which it can be written as the sum of two squares. > For example, 10 can only be written as 32 + 12 (we don't count 12 + 32 > as being different). On the other hand, 25 can be written as 52 + 02 > or as 42 + 32. > > Input > You should first read an integer N, the number of test cases. The next > N lines will contain N values of X. > Constraints > 0 ≤ X ≤ 2147483647 > 1 ≤ N ≤ 100 > Output > For each value of X, you should output the number of ways to write X > as the sum of two square > > Is the code mention below solution to this question ???? what is the > fault... > Error : > are...@aregee-laptop:~/Desktop$ python pie.py > enter a number::10 > pie.py:3: Deprecation Warning: integer argument expected, got float > for b in range(0,(x**0.5)/2): > > #Double square.... > > x = input("enter a number::") > for b in range(0,(x**0.5)/2): > a = (x-(b**2))**0.5 > try: > a = int(a) > except: > print("not an integer") > exit(1) > > count = 0; > count = count + 1; > if (x == a**2 + b**2): > > print "double square" aregee,
The problem you had was that you put a division by 2 in the range, if x would be 25 than x**0.5 = 5.0 than you would feed range with 2.5 and than you get the warning. Also I don't understand why you use de division by 2, because if for instance you would take 25 you get 5 and 0 but you mis 3 and 4 as match. I've put in a tried list to I would try the following: #Double square.... x = input("enter a number::") for b in range(0,int((x**0.5))): a = (x-(b**2))**0.5 try: a = int(a) except: print("not an integer") exit(1) if a < b: # when a is smaller than b we already have this match # and all the following matches we also have break if (x == a**2 + b**2): print "double square %s = %s**2 + %s**2" % (x, a, b) -- http://mail.python.org/mailman/listinfo/python-list