Friday, April 29, 2016

UVA problem 100 – The 3n + 1

Problem link (click here)

#include <stdio.h>
#include <algorithm>

using namespace std;
int main()
{
      int i, j;
      int c,d;
      while(scanf("%d",&i)!= EOF){
            int max=0;
            scanf("%d",&j);
            c=i;
            d=j;
            if(i>j){
                  swap(i,j);
            }
            int k,n;
            for(k=i;k<=j;k++){
                  int lenth=1;
                  n=k;
                  while(n!=1){
                       if (n%2!=0){
                            n=3*n+1;
                       }
                       else
                            n=n/2;
                       lenth++;
                  }
                  if(max<lenth){
                       max=lenth;
                  }
             }
             printf("%d %d %d\n",c,d,max);
       }
       return 0;
}



No comments:

Post a Comment