#include int main() { int a, b; int bp; int Sa, Sb; int pole[260]; int i,ip,i_b; i=0; scanf("%d %d", &pole[0], &b); while (pole[0]!=0 && b!=0) { while (pole[i]!=1) { if (pole[i]%2==0) { pole[i+1]=pole[i]/2; i++; } else { pole[i+1]=3*pole[i]+1; i++; } } Sb=0; Sa=0; ip=0; i_b=i; bp=b; a=pole[0]; while (a!=b) { while (pole[ip]!=b && ip!=i_b) { ip++; } if (pole[ip]==b) { Sa=ip; a=pole[ip]; } else { ip=0; if (b%2==0) { b=b/2; Sb++; } else { b=3*b+1; Sb++; } } } printf("%d need %d steps, %d needs %d steps, they meet at %d\n", pole[0], Sa, bp, Sb, b); for (i=0; i<=256; i++) pole[i]=0; i=0; Sb=0; Sa=0; ip=0; scanf("%d %d", &pole[0], &b); } return 0; }