#include <iostream> int main() { std::cout << sizeof(int) << std::endl; std::cout << sizeof(char*) << std::endl; int x = 27; for(int i=0; i < 10; ++i) { std::cout << i << " : " << i*1000000000 << " : " << x << std::endl; if(x==1) break; x = x%2 ? x*3+1 : x/2; } }
если скомпилировать и запустить, получаем следующее:
subroot@debian:~$ g++ 1.cpp -m32 -O2 && ./a.out 4 4 0 : 0 : 27 1 : 1000000000 : 82 2 : 2000000000 : 41 3 : -1294967296 : 124 4 : -294967296 : 62 5 : 705032704 : 31 6 : 1705032704 : 94 7 : -1589934592 : 47 8 : -589934592 : 142 9 : 410065408 : 71 10 : 1410065408 : 214 11 : -1884901888 : 107 12 : -884901888 : 322 13 : 115098112 : 161 14 : 1115098112 : 484 15 : 2115098112 : 242 16 : -1179869184 : 121 17 : -179869184 : 364 18 : 820130816 : 182 19 : 1820130816 : 91 20 : -1474836480 : 274 21 : -474836480 : 137 22 : 525163520 : 412 23 : 1525163520 : 206 24 : -1769803776 : 103 25 : -769803776 : 310 26 : 230196224 : 155 27 : 1230196224 : 466 28 : -2064771072 : 233 29 : -1064771072 : 700 30 : -64771072 : 350 31 : 935228928 : 175 32 : 1935228928 : 526 33 : -1359738368 : 263 34 : -359738368 : 790 35 : 640261632 : 395 36 : 1640261632 : 1186 37 : -1654705664 : 593 38 : -654705664 : 1780 39 : 345294336 : 890 40 : 1345294336 : 445 41 : -1949672960 : 1336 42 : -949672960 : 668 43 : 50327040 : 334 44 : 1050327040 : 167 45 : 2050327040 : 502 46 : -1244640256 : 251 47 : -244640256 : 754 48 : 755359744 : 377 49 : 1755359744 : 1132 50 : -1539607552 : 566 51 : -539607552 : 283 52 : 460392448 : 850 53 : 1460392448 : 425 54 : -1834574848 : 1276 55 : -834574848 : 638 56 : 165425152 : 319 57 : 1165425152 : 958 58 : -2129542144 : 479 59 : -1129542144 : 1438 60 : -129542144 : 719 61 : 870457856 : 2158 62 : 1870457856 : 1079 63 : -1424509440 : 3238 64 : -424509440 : 1619 65 : 575490560 : 4858 66 : 1575490560 : 2429 67 : -1719476736 : 7288 68 : -719476736 : 3644 69 : 280523264 : 1822 70 : 1280523264 : 911 71 : -2014444032 : 2734 72 : -1014444032 : 1367 73 : -14444032 : 4102 74 : 985555968 : 2051 75 : 1985555968 : 6154 76 : -1309411328 : 3077 77 : -309411328 : 9232 78 : 690588672 : 4616 79 : 1690588672 : 2308 80 : -1604378624 : 1154 81 : -604378624 : 577 82 : 395621376 : 1732 83 : 1395621376 : 866 84 : -1899345920 : 433 85 : -899345920 : 1300 86 : 100654080 : 650 87 : 1100654080 : 325 88 : 2100654080 : 976 89 : -1194313216 : 488 90 : -194313216 : 244 91 : 805686784 : 122 92 : 1805686784 : 61 93 : -1489280512 : 184 94 : -489280512 : 92 95 : 510719488 : 46 96 : 1510719488 : 23 97 : -1784247808 : 70 98 : -784247808 : 35 99 : 215752192 : 106 100 : 1215752192 : 53 101 : -2079215104 : 160 102 : -1079215104 : 80 103 : -79215104 : 40 104 : 920784896 : 20 105 : 1920784896 : 10 106 : -1374182400 : 5 107 : -374182400 : 16 108 : 625817600 : 8 109 : 1625817600 : 4 110 : -1669149696 : 2 111 : -669149696 : 1
Странно, ведь в условии цикла задано всего 10 итераций цикла..
Можно сколько угодно обвинять C++, что всё так получилось, нахваливая Java, но в стандарте об этом черным по белому написано.