Advertisement
Rakibul_Ahasan

UVA->100 - The 3n + 1 problem(Wrong_Ans)

Dec 27th, 2019
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.63 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. long long ok;
  5. long long Balance(long long r){
  6.    if(r==1) {
  7.        return ok;
  8.    }
  9.    if(r%2){
  10.        r=3*r+1;
  11.        Balance(r);
  12.       ++ok;
  13.    }
  14.    else {
  15.        r=r/2;
  16.       Balance(r);
  17.       ++ok;
  18.    }
  19. }
  20.  
  21. int main() {
  22.    
  23.     long long a,b;
  24.    
  25.     while(scanf("%lld%lld",&a,&b)==2){
  26.          long long mx=0LL;
  27.          int p=a;
  28.          int q=b;
  29.          if(a>b) swap(a,b);
  30.          
  31.         for(int i=a;i<=b;i++){
  32.             ok=1;
  33.            mx=max(mx,Balance(i));
  34.         }
  35.        
  36.         printf("%lld %lld %lld\n",p,q,mx);
  37.     }
  38.    
  39.     return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement