fork download
  1. program tosquare;
  2.  
  3. var a, b : longint;
  4. k : integer;
  5.  
  6. procedure tosquare(var x : longint);
  7. var j, i : integer;
  8.  
  9. begin
  10. j := 0;
  11. i := round(sqrt(x));
  12.  
  13. while (i > 0) do
  14. begin
  15. if (sqr(j) > x) then
  16. begin
  17. writeln('No');
  18. break;
  19. end
  20. else if ((sqr(j) + sqr(i)) = x) then
  21. begin
  22. writeln('Yes');
  23. break;
  24. end
  25. else if ((sqr(j) + sqr(i)) < x) then
  26. inc(j)
  27. else dec(i);
  28. end;
  29. end;
  30.  
  31. begin
  32. readln(a);
  33. for k := 1 to a do
  34. begin
  35. readln(b);
  36. tosquare(b);
  37. end
  38. end.
  39.  
Success #stdin #stdout 0s 336KB
stdin
10
1
2
7
14
49
9
17
76
2888
27
stdout
Yes
Yes
No
No
Yes
Yes
Yes
No
Yes
No