#include <iostream>
bool rytual( int x, int & k, int & l ) {
while ( x > 1 ) {
if ( ( k + l ) == 15 ) {
return false ;
}
if ( x % 2 == 0 ) {
k++ ;
x / = 2 ;
}
else {
x = 3 * x + 1 ;
l++ ;
}
}
if ( x == 1 ) {
return true ;
}
}
int main( ) {
int x;
while ( x ! = 0 ) {
int kwiaty = 0 , liscie = 0 ;
std:: cin >> x;
if ( rytual( x, kwiaty, liscie ) == true ) {
std:: cout < "TAK" << " " << kwiaty << " " << liscie << std:: endl ;
}
else if ( rytual( x, kwiaty, liscie ) == false && x ! = 0 ) {
std:: cout << "NIE" << std:: endl ;
}
}
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKYm9vbCByeXR1YWwoIGludCB4LCBpbnQgJiBrLCBpbnQgJiBsICkgewogICAgd2hpbGUoIHggPiAxICkgewogICAgICAgIGlmKCggayArIGwgKSA9PSAxNSApIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgICBpZiggeCAlIDIgPT0gMCApIHsKICAgICAgICAgICAgaysrOwogICAgICAgICAgICB4IC89IDI7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICB4ID0gMyAqIHggKyAxOwogICAgICAgICAgICBsKys7CiAgICAgICAgfQogICAgfQogICAgaWYoIHggPT0gMSApIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KfQoKaW50IG1haW4oKSB7CiAgICBpbnQgeDsKICAgIHdoaWxlKCB4ICE9IDAgKSB7CiAgICAgICAgaW50IGt3aWF0eSA9IDAsIGxpc2NpZSA9IDA7CiAgICAgICAgc3RkOjpjaW4gPj4geDsKICAgICAgICBpZiggcnl0dWFsKCB4LCBrd2lhdHksIGxpc2NpZSApID09IHRydWUgKSB7CiAgICAgICAgICAgIHN0ZDo6Y291dCA8ICJUQUsiIDw8ICIgIiA8PCBrd2lhdHkgPDwgIiAiIDw8IGxpc2NpZSA8PCBzdGQ6OmVuZGw7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoIHJ5dHVhbCggeCwga3dpYXR5LCBsaXNjaWUgKSA9PSBmYWxzZSAmJiB4ICE9IDAgKSB7CiAgICAgICAgICAgIHN0ZDo6Y291dCA8PCAiTklFIiA8PCBzdGQ6OmVuZGw7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIDA7Cn0=
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:28:34: error: invalid operands of types ‘const char [4]’ and ‘const char [2]’ to binary ‘operator<<’
std::cout < "TAK" << " " << kwiaty << " " << liscie << std::endl;
^
prog.cpp: In function ‘bool rytual(int, int&, int&)’:
prog.cpp:20:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
stdout