I’ve updated it accordingly
Swapped the usernames with profile pictures, imagine waiting on feedback first. You can hover over them for the username.
i decided instead of aiming higher im gonna do some peer verification just to see the board all green. Im currently doing gii2000’s, and estimated 3 hours left
I just finished writing a high performance solver in Rust. Here’s my initial results!!
Solved: 69^420 has path length 19214 (66.48% even steps) in 0.000 seconds
Solved: 6969^420 has path length 39596 (66.55% even steps) in 0.000 seconds
Solved: 10^4000 - 1 has path length 120353 (65.59% even steps) in 0.000 seconds
Solved: 10^1_000_000 has path length 17805058 (68.53% even steps) in 1.706 seconds
Solved: 2^34_680_486 + 2^34_526_886 has path length 35634191 (98.96% even steps) in 0.008 seconds
Solved: 2^34_529_286 + 2^34_526_886 has path length 34543869 (99.98% even steps) in 0.000 seconds
Solved: 2^100_000_000 * 3^2_000_000 has path length 122888563 (93.79% even steps) in 3.178 seconds
Solved: 2^100_000_000 * (2^2_000_000 - 1) has path length 126888563 (92.41% even steps) in 4.597 seconds
Solved: 10^10_000_000 has path length 177725668 (68.55% even steps) in 161.601 seconds
Solved: 2^1_000_000_000 * 3^2_500_000 has path length 1028678056 (99.07% even steps) in 4.515 seconds
Solved: 2^1_000_000_000 * (2^2_500_000 - 1) has path length 1033678056 (98.83% even steps) in 6.454 seconds
Solved: 8^9^9 * 3^10^7 has path length 1276807624 (97.01% even steps) in 72.885 seconds
I’m going to try to run some truly gigantic numbers on it ![]()
I’m inclined to assume your values are correct but they conflict with at least 2 entries that I see so far. Would like to see if another person gets the same ones.
Yeah, you mean FoxNerdSaysMoo’s? His first result was for k = 2^100000000 * (2^2000000 - 1), but the program incorrectly says
Total length of Collatz sequence for 2^100000000 * 3^2000000 is 126888562
It should have said
Total length of Collatz sequence for 2^100000000 * (2^2000000-1) is 126888562
(also, this count doesn’t include the final 1)
thats bonkers! how is it possible to reach such speeds? Do you do less per iteration? do you paralellize execution? If you are willing to share you secrets i would very much like to know!
If you are reluctant you can even dm me via discord and ill promise not to post another submission.
My current guess is that you do not calculate the full number before proceeding as knowing if even or odd is very easy and just requires the lsb. is it something along those lines?
No parallelization! I just do clever lazy computation. Sure, I can even send you the source code over Discord and walk you through it if you want. Your guess is actually along the right lines.
Thanks a lot!!! You just saved me a lot of productivity. Knowing me, my brain would not be able to focus on the other tasks i need to do if it kept wondering how it was that efficient.
Solved: 3^20_000_000 in 565.563 seconds
Path length: 229180142
Even steps: 152784104
Odd steps: 76396037
Even ratio: 66.67%
We can multiply the input by a lot of 2s so that there are exactly 99 even steps for each odd step. This means we can have 7,563,207,663 total even steps, or 7,410,423,559 more than we currently have.
Thus, behold: 2^7410423559*3^20000000 (23 characters), which has an eye-watering path length of 7,639,603,701!
I had replaced the wrong one of Fox’s numbers so I fixed that
Since people are going to find workarounds whatever I do, I’m going to make a column specifically marking the ones that felt like they were intentionally doing that (The “Workaround Mark”). You can take it as a badge of honor or a mark of shame. They still need to follow the rules either way, so keep that in mind.
Hm… Does this qualify?
Nah, people have been doing that basically the entire time
I meant there seems to be a mismatch between your path lengths and the ones others have reported in some cases
I wasn’t able to recreate FEARLESS_Z’s numbers.
I was able to recreate FoxNerdSaysMoo’s numbers, but off by 1 since his code didn’t count the final 1, and using the printed k’s value (in the form 2^n * (2^m - 1), not the following statement’s form of 2^n * 3^m).
Everyone else’s matches exactly as far as I can tell.
I can confirm that gii’s submission of 10 ^ 10,000,000 takes 177,725,668 steps to run. Amy you can check the peer review mark
Solved: 2^100_000_000 - 1 in 10507.436 seconds
Path length: 1345674069
Even steps: 863781558
Odd steps: 481892510
Even ratio: 64.19%
Alrighty. Just like I did last time, we can add a lot of factors of 2 to the input, and my submission is:
2^46843576932*(2^10^8-1) (24 characters), which has a path of 48,189,251,001 numbers!
Number: (2^2^30-1)<<(5*10^11)
Total path len: 514,448,571,769
Even step percentage: 98.994%
the version that’s just 2^2^30-1 has 14.45 billion steps. The parens are redundant because shifting has lower precedence than addition, so i coulda done 2^2^30-1<<5*10^11, but this way is clearer. Even expressed as (2^2^30-1)*2^(5*10^11) it still fits in 24char if you don’t like the shifting.
Solved in 1.8hr in my Java solver, which I’ve talked about in discord but can also talk about here if someone asks. I’ll put the code up on github soon.
Someday I’ll update this
made some improvements and did the same number in just under 1hr now. here is the github.. The short of what makes it efficient is that you can combine and defer a lot of the multiplications so you dont have to touch the higher bits as often, since what operations are performed is determined entirely by the lower bits. The size of the bit window shrinks by about half in every recursive call, so a 100k bit number will instead do most of its operations on a 50k bit number, then the multiplications and shifts that happen are tracked. This 50k bit number is itself solved by a 25k number deferring its operations, until you get down to about 700 bits when it just switches from the recursion to just using it in chunks of 32 directly.
Anyways, verifying others’ submissions.
first, the ones from the leaderboard:
verified:
- 8^9^9*3^10^7
- 10 ^ 10,000,000
- 2^(10^8)*(2^(2*10^6)-1)
- 10^1000000
- 10^4000-1
- 6969^420
- 69^420
Disputed numbers (my results here align with gii’s bulk solve):
- 2^1000000000 * 3^2500000: I got, 1,028,678,056 steps and 99.07% even
- 2^34680486+2^34526886: I got 35,634,191 steps and 98.96% even
Stuff thats been submitted since but not yet on the leaderboard:
- 2^46843576932*(2^10^8-1): verified (solved in 111.1sec)
