| N | log N | N log N | N^2 | N^3 |
| 10 | 3.3 | 33 | 100 | 1000 |
| 100 | 6.6 | 664 | 10000 | 1000000 |
| 1000 | 10.0 | 9966 | 1000000 | 1000000000 |
| 10000 | 13.3 | 132877 | 100000000 | 1000000000000 |
| 100000 | 16.6 | 1660964 | 10000000000 | 1000000000000000 |
| 1000000 | 19.9 | 19931569 | 1000000000000 | 1000000000000000000 |
| 10000000 | 23.3 | 232534967 | 100000000000000 | 1000000000000000000000 |
| 100000000 | 26.6 | 2657542476 | 10000000000000000 | 1000000000000000000000000 |
| N | log N | N log N | N^2 | N^3 | 2^N |
| 5 | 2.3 | 12 | 25 | 125 | 32 |
| 10 | 3.3 | 33 | 100 | 1000 | 1024 |
| 20 | 4.3 | 86 | 400 | 8000 | 1048576 |
| 30 | 4.9 | 147 | 900 | 27000 | 1073741824 |
| 40 | 5.3 | 213 | 1600 | 64000 | 1099511627776 |
| 50 | 5.6 | 282 | 2500 | 125000 | 1125899906842624 |
| 60 | 5.9 | 354 | 3600 | 216000 | 1152921504606846976 |
// input an integer value for k
while (k > 1)
{
if ((k/2) * 2 == k) // is k even?
k = k / 2;
else
k = 3 * k + 1;
cout << k << endl;
}
halts():
bool halts(string p, string x);
true or false
void contrary()
{
string p;
cin >> p;
if (halts(p, p))
{
while (true) // infinite loop
p == p;
}
else
{
cout << "All done!" << endl;
return;
}
}
halts program decides the function stops
(completes), it goes
into infinite loop and goes on forever.
halts program decides it doesn't halt,
it prints a message and quits immediately.
halts() cannot exist!