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

Reply via email to