Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uint32_t collatzGlide(const mp::cpp_int& original){
- uint32_t step = 0;
- mp::cpp_int val = original;
- while (true){
- if ((val & 1u) == 0){
- //val is even
- val >>= 1;
- ++step ;
- if (val < original) {
- break;
- }
- }else{
- //val is odd
- val += (val + 1) >> 1;
- step += 2;
- }
- } //while()
- return step;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement