On 01/09/2011 01:10 AM, aregee 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): That says it all. You can't use a float in range(), use int(x ** 0.5) if that's what you need, but the behavior won't be the same. My suggestion would be to try to find a different way to do it. > > #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) > Here it would be better to use: if type(a) != int print("Not an integer") exit(1) > count = 0; > count = count + 1; > if (x == a**2 + b**2): > > print "double square"
~Corey Richardson -- http://mail.python.org/mailman/listinfo/python-list