#include <iostream>
#include <vector>
using namespace std;
void hanoi(int n, int f, int t) {
if (n == 0) {
return;
}
int v = 6 - f - t;
if (f == t - 1 || (f == 3 && t == 1)){
hanoi(n - 1, f, v);
cout << n << " " << f << " " << t << endl;
hanoi(n - 1, v, t);
}else{
hanoi(n - 1, f, t);
cout << n << " " << f << " " << v << endl;
hanoi(n - 1, t, f);
cout << n << " " << v << " " << t << endl;
hanoi(n - 1, f, t);
}
}
int main (){
int n;
cin >> n;
hanoi(n, 0, 0); //тут какая - то проблема при выводе, я не понял как выводить их. Если вдруг решите проблему, то напишите в комменты под задачей!!
}
Объяснение:
Мне тоже надо , кто сделал "Быстрое возведение в степень" и
"Количество разбиений на слагаемые" отправьте мне решения
ответ (перепроверьте на всякий случай скобки, вроде должно быть всё верно, но там довольно замороченно, лучше ещё раз перепроверить):
from math import atan,log
a = [0.5, -1, -2]
b = [1.5, 0.5, 0]
p = [-4, -4, -4]
while True:
try:
x = float(input('Введите x: '))
break
except ValueError:
print('Вводите число!')
if abs(x) < 0.2:
for i in range(3):
print(f'Вариант {i+1}: {a[i]**2 * x**3 + (b[i]**4 + 1.7)**0.5}')
elif abs(x) == 0.2:
for i in range(3):
print(f'Вариант {i+1}: {atan(2**x - abs(p[i]))}')
else:
for i in range(3):
print(f'Вариант {i+1}: {(log(abs(a[i])) + 4.3)**(1/3) + x}')
"Попроще" - без циклов, проверки ввода и массивов:
from math import atan,log
a1 = 0.5
a2 = -1
a3 = -2
b1 = 1.5
b2 = 0.5
b3 = 0
p1 = -4
p2 = -4
p3 = -4
x = float(input('Введите x: '))
if abs(x) < 0.2:
y = a1**2 * x**3 + (b1**4 + 1.7)**0.5
print('Вариант 1: ', y)
y = a2**2 * x**3 + (b2**4 + 1.7)**0.5
print('Вариант 2: ', y)
y = a3**2 * x**3 + (b3**4 + 1.7)**0.5
print('Вариант 3: ', y)
elif abs(x) == 0.2:
y = atan(2**x - abs(p1))
print('Вариант 1: ', y)
y = atan(2**x - abs(p2))
print('Вариант 2: ', y)
y = atan(2**x - abs(p3))
print('Вариант 3: ', y)
else:
y = (log(abs(a1)) + 4.3)**(1/3) + x
print('Вариант 1: ', y)
y = (log(abs(a2)) + 4.3)**(1/3) + x
print('Вариант 2: ', y)
y = (log(abs(a3)) + 4.3)**(1/3) + x
print('Вариант 3: ', y)