
Calculation
[Originally posted by Vicky]
Hi... Can anyone help me....
The program that I'm writing now is simulating the Collatz Problem and determine the number of steps taken to reach 1 for any given intger.The process is that if the number is even, divide that number by 2; If the number is odd, multiply that number by 3 and then add 1. the calculation goes on and on until the number is 1
I got this problem:
If the input number is odd then multiply the number by 3 then add 1 to it.
I call the number intNu..
I've type intNu= (intNu*3)+1)
but when i run the program, a message pop up and says i got this overflow problem....
What should i do to make it work....
Thankyou

Re:Calculation
[Originally posted by Eli Martin]
Is intNu really overranging?ÿ I'm sure you know, but the value range for and int is 32767 thru 32768.ÿ If it is truely in range, email me the code and I will take a deeper look at it.

Re:Calculation
[Originally posted by JPicasso]
integer variables can only hold values upto
32,000 someting.
try declaring variables as Longs.

Re:Calculation
[Originally posted by Jonathan Barnes]
On a purely mathematical note, there is one part of the formula I do not quite follow:ÿ if the goal is to get to 1 by iteration, I would think it would be something like:
dim lngnum as long
do while lngnum <> 1
if lngnum MOD 2 = 0 then
ÿ lngnum = lngnum / 2
else
ÿ lngnum = lngnum  1
ÿ 'instead of lngnum * 3 + 1
endif
loop
Posting Permissions
 You may not post new threads
 You may not post replies
 You may not post attachments
 You may not edit your posts

Forum Rules

Development Centers
 Android Development Center
 Cloud Development Project Center
 HTML5 Development Center
 Windows Mobile Development Center
