A Conversation for The 3n+1 Conjecture - Proof Needed!

I have made a program

Post 1

Arthur Dent

I created a program to generte the series of numbers for any starting number, just watch out it does not take starting numbers that are too big at the moment, but i am working on a new version that will work with with larger numbers. get it at [URL Removed by Moderator]
It is fast!


I have made a program

Post 2

Calculator Nerd 256

I wrote one on my calculator (TI-83 Plus). The code is:
:Input A
:A-1/->/A
:While 1
:A+1/->/A
:A/->/B
:While B-1
:If gcd(B,2)-1
:Then
:.5B/->/B
:Else
:3B+1/->/B
:End
:Output(1,1,A
:Output(2,1,B
:End
:ClrHome
:End

Note: It is impossible to prove or disprove. If it is true, you will keep calculating forever and ever for the next number to infiniti and if it is false, the proof for the individual number will go on forever. We've been had! smiley - geek >8^B


I have made a program

Post 3

Gnomon - time to move on

There are clever ways of proving conjectures like this. Many equally strange assertions have been proved. But this one seems to resist every attempt. If we've been had, it is by whoever invented the numbers!smiley - smiley


I have made a program

Post 4

Calculator Nerd 256


I have made a program

Post 5

Dark Master - The end is now (2005/03/01) Officially Left

I made a program tooo, i proved that it works for all values up to 159486 then i got errors, well, that 150000 numbers that i wouldn't have calculated on my own


I have made a program

Post 6

Din'Amarth

Well, first of all, I'm not an expert on TI-83 programming, but that code doesn't look like it would work.

Also, I am writing a little program of my own, and have had a few thoughts.

Firstly, if we are making a program that checks every number starting with one, we don't need for the program to follow through all the way to one. All we have to do is go until the number gets smaller. For example, on 13: 13*3+1=40. 40/2=20. 20/2=10. We already did 10. We know it works, we can move on to 14.

For the same reason, we can just skip even numbers all together. First thing you do on an even number is divide it by 2, and that makes it smaller.

Using these strategies, I made a program that can get past a million in a little over a minute. Granted, my computer doesn't suck, but when I had it checking every number and going all the way to one, I got tired of waiting for it after it got to around 180,000.

The program is in Java (it's an application, not an applet). Here's hoping it keeps my indentions.



public class threeNPlusOne
{
public static void main(String[] args)
{

int i=3;
int a=3;

while (1==1)
{
while (i>=a)
{
if (i<a)
{
}

else if (i%2==0)
{
i=i/2;
}
else
{
i=3*i+1;
}
}
a=a+2;
i=a;
System.out.println(a);
}
}
}


I have made a program

Post 7

Gnomon - time to move on

It didn't keep the indentations, but I was able to work out what it does easy enough.

Yes, that program is good. But it only handles the small numbers. You haven't coped with when the numbers get bigger than will fit in an int. What size is that?


I have made a program

Post 8

AlexAshman


Yes, but once the number is bigger than will fit a signed integer, then you're better off using your time developing a general proof. I would suspect a solution would be found by working backwards somehow smiley - erm


I have made a program

Post 9

AlexAshman

A18023762 contains some MATLAB code which uses double-precision values throughout.


Key: Complain about this post