Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 HELP ON TURING- PERFECT SQUARE
Index -> Programming, Turing -> Turing Help
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
dinktsr




PostPosted: Mon Apr 26, 2004 5:05 pm   Post subject: HELP ON TURING- PERFECT SQUARE

i struggle so much at this it's not even funny...
i need a program that keep inputting integers until a perfect square (ex. 81, 9) between 40 and 100
PLEASE HELP ME, WITHOUT THIS IM DEAD, THANKS IN ADVANCE
Sponsor
Sponsor
Sponsor
sponsor
Tony




PostPosted: Mon Apr 26, 2004 5:08 pm   Post subject: (No subject)

eh? Confused what seems to be the problem? Laughing
code:

var num:int
loop
put "what number?"
get num
exit when round(sqrt(num))**2 = num
end loop
put "the end"
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
Paul




PostPosted: Mon Apr 26, 2004 5:17 pm   Post subject: (No subject)

wha...?
here's how I would do it, it might be sucky, but i always like to showoff my newly learned knowledge (strintok) Razz
code:

for a: 40..100
if strintok (realstr(sqrt (a),0))then
put a
exit
else
put a, " "..
end if
end for
Tony




PostPosted: Mon Apr 26, 2004 5:18 pm   Post subject: (No subject)

hah, while we at it, might also use if sqrt(num) mod 1 = 0 to test for a perfect square Laughing
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
Cervantes




PostPosted: Mon Apr 26, 2004 5:29 pm   Post subject: (No subject)

jeeze, thats the way i did it. I made the prog but then just as i was about to post my "do your own homework" rant followed by "this is how in english, not in code", I scroll down and there's tony's very blatant answer staring at me.
Mad

anywho, I don't understand this bit.
code:

exit when round(sqrt(num))**2 = num

if you take the sqrt of a perfect square and you get an integer. round it and you get an integer. square it and you get the first number
but take the sqrt of a non-perfect square number and you get a num with decimals, round that and you get an integer, square that and you get the number you started with, yes? but obviously if you input 10 into your prog it doesn't exit, but if you input 9 it does. Confused
Tony




PostPosted: Mon Apr 26, 2004 5:38 pm   Post subject: (No subject)

Cervantes - since round drops the decimal point, when you square the number it will not be the same as the one you squared.

It is basically a test to see if the squareroot of a number is an integer (perfect square) or not. That's why I later posted with mod 1 method, as non integer root will have a .something remainder.

10 (non perfect square) sqrt = 3.16
round(3.16) = 3
3 * 3 = 9
9 != 10

Wink
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
Cervantes




PostPosted: Mon Apr 26, 2004 5:49 pm   Post subject: (No subject)

i have an incredibly strong urge to edit my above post and erase all my moronic ramblings Embarassed
Display posts from previous:   
   Index -> Programming, Turing -> Turing Help
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 7 Posts ]
Jump to:   


Style:  
Search: