// // File: collatz.cc // Author: cteam061 // // Created on October 22, 2011, 2:47 PM // #include #include // // // struct zoznam{ unsigned int hodnota; zoznam *dalsi; }; unsigned int a, b; zoznam *prvy = NULL; zoznam *posledny = NULL; void init(int x){ prvy=new zoznam; prvy->hodnota=x; prvy->dalsi=NULL; posledny=prvy; } void add(int x){ posledny->dalsi=new zoznam; posledny=posledny->dalsi; posledny->hodnota=x; posledny->dalsi=NULL; } void vystup(int sa, int sb, int c){ printf( "%d needs %d steps, %d needs %d steps, they meet at %d\n", a, sa, b, sb, c); } int doStep(int x){ if(x%2==0){ return x/2; } else{ return (3*x+1); } } bool zhoda(int x, int pocA, int pocB){ zoznam *aktualny=prvy; for(int i=0;ihodnota==x){ vystup(i, pocB, x); return true; } aktualny=aktualny->dalsi; } return false; } void delZoznam(){ zoznam *pointer; while(prvy!=NULL){ pointer=prvy->dalsi; delete(prvy); prvy=pointer; } } int main(int argc, char** argv) { int pocA=0, pocB=0; int x; scanf("%d", &a); scanf("%d", &b); while(a!=0 && b!=0){ if(a==b){ vystup(0, 0, a); }else{ /* * if(a