Find square difference: Difference between revisions
(Negative integers have positive squares, so the task should specify that n must be a posittive integer else the answer is - infinity) |
(Added Algol 68) |
||
Line 5: | Line 5: | ||
<br><br> |
<br><br> |
||
=={{header|ALGOL 68}}== |
|||
Using the same school maths ( or math for those in the US ) in the Wren version but using a calculation... |
|||
<lang algol68>BEGIN # find the lowest n where the difference between n^2 and (n-1)^2 is > 1000 # |
|||
INT rqd diff = 1000; |
|||
# n^2 - ( n - 1 )^2 is n^2 - n^2 + 2n - 1, i.e. 2n - 1 # |
|||
# so 2n - 1 > 1000 or n > 1001/2 # |
|||
print( ( "n is ", whole( ( ( rqd diff + 1 ) OVER 2 ) + 1, 0 ) ) ) |
|||
END</lang> |
|||
{{out}} |
|||
<pre> |
|||
n is 501 |
|||
</pre> |
|||
=={{header|Python}}== |
=={{header|Python}}== |
Revision as of 17:45, 18 November 2021
- Task
Find and show on this page the least positive integer number n, where diffrence of n*n and (n-1)*(n-1) greater than 1000.
The result is 501 because 501*501 - 500*500 = 251001 - 250000 = 1001 > 1000.
ALGOL 68
Using the same school maths ( or math for those in the US ) in the Wren version but using a calculation... <lang algol68>BEGIN # find the lowest n where the difference between n^2 and (n-1)^2 is > 1000 #
INT rqd diff = 1000; # n^2 - ( n - 1 )^2 is n^2 - n^2 + 2n - 1, i.e. 2n - 1 # # so 2n - 1 > 1000 or n > 1001/2 # print( ( "n is ", whole( ( ( rqd diff + 1 ) OVER 2 ) + 1, 0 ) ) )
END</lang>
- Output:
n is 501
Python
<lang python> import math print("working...") limit1 = 6000 limit2 = 1000 oldSquare = 0 newSquare = 0
for n in range(limit1):
newSquare = n*n if (newSquare - oldSquare > limit2): print("Least number is = ", end = ""); print(int(math.sqrt(newSquare))) break oldSquare = n*n
print("done...") print() </lang>
- Output:
working... Least number is = 501 done...
Ring
<lang ring> load "stdlib.ring" see "working..." + nl limit1 = 6000 limit2 = 1000 oldPrime = 0 newPrime = 0
for n = 1 to limit1
newPrime = n*n if newPrime - oldPrime > limit2 see "Latest number is = " + sqrt(newPrime) + nl exit ok oldPrime = n*n
next
see "done..." + nl </lang>
- Output:
working... Latest number is = 501 done...
Wren
n needs or be such that n² - (n² - 2n + 1) > 1000 or n > 500.5. <lang ecmascript>System.print(500.5.ceil)</lang>
- Output:
501