Я видел тот же вопрос, но только на других языках, которые я не знаю.
Я пытался создать функцию, которая возвращает количество движений, необходимое для определенного числа колец (n) в проблема «Ханойская башня», все выглядело хорошо, но время для запуска программы, когда n> 24 было слишком длинным, и онлайн-судья не думал.
Так что я подумал, что если значение было назначается, когда n = 24? Для следующих чисел программа будет компилироваться намного быстрее
Итак, я попробовал ввести:
if ( n == 24){
aux++;
return 16777215;
}
Но, когда я ввел 24, у меня было 1, а не 16777215
Мой код:
int hanoi(int n, int orig, int dest, int temp){
if (n == 1){
aux++;
return 0;
}
if ( n == 24){
aux++;
return 16777215;
}
hanoi(n-1, orig, temp, dest);
hanoi(n-1, temp, dest, orig);
aux++;
return 1;
}
Я пытался быть самым подходящим c, я до сих пор не знаю, как задать хороший вопрос в stackOverflow, на данный момент, заранее спасибо !