|
|
@ -2,15 +2,15 @@ |
|
|
|
|
|
|
|
|
#include <stdio.h> |
|
|
#include <stdio.h> |
|
|
|
|
|
|
|
|
int cycle(a) int a; |
|
|
|
|
|
|
|
|
int cycle(int a) |
|
|
{ |
|
|
{ |
|
|
int i = 1; |
|
|
int i = 1; |
|
|
|
|
|
|
|
|
while (a != 1){ |
|
|
|
|
|
if (a % 2 == 0){ |
|
|
|
|
|
|
|
|
while( a != 1 ) |
|
|
|
|
|
{ |
|
|
|
|
|
if( a % 2 == 0 ) { |
|
|
a = a/2; |
|
|
a = a/2; |
|
|
} |
|
|
|
|
|
else{ |
|
|
|
|
|
|
|
|
} else { |
|
|
a = 3*a+1; |
|
|
a = 3*a+1; |
|
|
} |
|
|
} |
|
|
i++; |
|
|
i++; |
|
|
@ -21,28 +21,31 @@ int cycle(a) int a; |
|
|
|
|
|
|
|
|
int main() |
|
|
int main() |
|
|
{ |
|
|
{ |
|
|
int a,b,max,temp; |
|
|
|
|
|
int aOrig,bOrig; |
|
|
|
|
|
|
|
|
int a, b, max, temp; |
|
|
|
|
|
int aOrig, bOrig; |
|
|
int i; |
|
|
int i; |
|
|
|
|
|
|
|
|
while (scanf("%d %d\n",&a,&b)==2){ |
|
|
|
|
|
|
|
|
while( scanf("%d %d\n",&a,&b)==2 ) { |
|
|
|
|
|
|
|
|
aOrig = a; |
|
|
aOrig = a; |
|
|
bOrig = b; |
|
|
bOrig = b; |
|
|
|
|
|
|
|
|
if (a > b){ |
|
|
|
|
|
|
|
|
if (a > b) |
|
|
|
|
|
{ |
|
|
temp = a; |
|
|
temp = a; |
|
|
a = b; |
|
|
a = b; |
|
|
b = temp; |
|
|
b = temp; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
max = cycle(a); |
|
|
max = cycle(a); |
|
|
for(i=a+1; i<=b; i++) { |
|
|
|
|
|
|
|
|
for( i=a+1; i<=b; i++ ) |
|
|
|
|
|
{ |
|
|
temp = cycle(i); |
|
|
temp = cycle(i); |
|
|
if (temp > max) |
|
|
|
|
|
|
|
|
if(temp > max) { |
|
|
max = temp; |
|
|
max = temp; |
|
|
} |
|
|
} |
|
|
printf("%d %d %d\n", aOrig, bOrig,max); |
|
|
|
|
|
} |
|
|
} |
|
|
return(0); |
|
|
|
|
|
|
|
|
printf("%d %d %d\n", aOrig, bOrig, max); |
|
|
|
|
|
} |
|
|
|
|
|
return 0; |
|
|
} |
|
|
} |