No older revisions available
No older revisions available
~cpp
#include <iostream>
using namespace std;
#include <vector>
#include <cmath>
unsigned int hanoi[10001] = {0,1,};
int a[10000];
int main()
{
vector<int> test;
int num;
unsigned min, temp;
for(int i = 1; i < 10001; i++)
{
min = 4000000000;
for(int k = 0; k < i; k++)
{
temp = 2*hanoi[k] +pow(2,i-k) -1;
if(temp <= min)
{
min = temp;
a[i] = k;
}
}
hanoi[i] = min;
}
for(i = 1; i < 30; i++)
cout << i << " " << a[i] << " " << hanoi[i] << endl;
while(cin >> num)
test.push_back(num);
for(vector<int>::iterator j = test.begin(); j != test.end(); j++)
cout << hanoi[*j] << endl;
return 0;
}