DeepSeek Программист
U
разработай код калькулятора на php
AI
Вот пример простого, но функционального калькулятора на PHP с обработкой базовых операций:

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Калькулятор на PHP</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            max-width: 400px;
            margin: 50px auto;
            padding: 20px;
            border: 1px solid #ccc;
            border-radius: 10px;
        }
        input, select, button {
            width: 100%;
            padding: 10px;
            margin: 10px 0;
            box-sizing: border-box;
        }
        .result {
            background-color: #f5f5f5;
            padding: 15px;
            border-radius: 5px;
            margin-top: 20px;
        }
        .error {
            color: red;
            font-weight: bold;
        }
    </style>
</head>
<body>
    <h2>Калькулятор</h2>
    <form method="post">
        <input type="number" step="any" name="num1" placeholder="Первое число" required 
               value="<?php echo isset($_POST['num1']) ? htmlspecialchars($_POST['num1']) : '' ?>">
        
        <select name="operation">
            <option value="add" <?php echo (isset($_POST['operation']) && $_POST['operation'] == 'add') ? 'selected' : '' ?>>+ Сложение</option>
            <option value="subtract" <?php echo (isset($_POST['operation']) && $_POST['operation'] == 'subtract') ? 'selected' : '' ?>>- Вычитание</option>
            <option value="multiply" <?php echo (isset($_POST['operation']) && $_POST['operation'] == 'multiply') ? 'selected' : '' ?>>* Умножение</option>
            <option value="divide" <?php echo (isset($_POST['operation']) && $_POST['operation'] == 'divide') ? 'selected' : '' ?>>/ Деление</option>
            <option value="power" <?php echo (isset($_POST['operation']) && $_POST['operation'] == 'power') ? 'selected' : '' ?>>^ Степень</option>
            <option value="sqrt" <?php echo (isset($_POST['operation']) && $_POST['operation'] == 'sqrt') ? 'selected' : '' ?>>√ Квадратный корень</option>
        </select>
        
        <input type="number" step="any" name="num2" placeholder="Второе число" 
               value="<?php echo isset($_POST['num2']) ? htmlspecialchars($_POST['num2']) : '' ?>">
        <p><small>Для квадратного корня второе число можно оставить пустым</small></p>
        
        <button type="submit">Вычислить</button>
    </form>

    <?php
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        $num1 = filter_input(INPUT_POST, 'num1', FILTER_VALIDATE_FLOAT);
        $num2 = filter_input(INPUT_POST, 'num2', FILTER_VALIDATE_FLOAT);
        $operation = $_POST['operation'] ?? '';
        $result = null;
        $error = '';
        
        // Валидация ввода
        if ($num1 === false) {
            $error = "Первое число должно быть числовым значением";
        } elseif ($operation != 'sqrt' && $num2 === false && $_POST['num2'] !== '') {
            $error = "Второе число должно быть числовым значением";
        } else {
            // Выполнение операций
            switch ($operation) {
                case 'add':
                    $result = $num1 + $num2;
                    $expression = "$num1 + $num2 = $result";
                    break;
                case 'subtract':
                    $result = $num1 - $num2;
                    $expression = "$num1 - $num2 = $result";
                    break;
                case 'multiply':
                    $result = $num1 * $num2;
                    $expression = "$num1 × $num2 = $result";
                    break;
                case 'divide':
                    if ($num2 != 0) {
                        $result = $num1 / $num2;
                        $expression = "$num1 ÷ $num2 = $result";
                    } else {
                        $error = "Деление на ноль невозможно";
                    }
                    break;
                case 'power':
                    $result = pow($num1, $num2);
                    $expression = "$num1 ^ $num2 = $result";
                    break;
                case 'sqrt':
                    if ($num1 >= 0) {
                        $result = sqrt($num1);
                        $expression = "√$num1 = $result";
                    } else {
                        $error = "Невозможно извлечь корень из отрицательного числа";
                    }
                    break;
                default:
                    $error = "Неизвестная операция";
                    break;
            }
        }
        
        // Вывод результата или ошибки
        if ($error) {
            echo "<div class='error'>Ошибка: $error</div>";
        } elseif ($result !== null) {
            echo "<div class='result'><strong>Результат:</strong> $expression</div>";
        }
    }
    ?>
</body>
</html>


Основные возможности калькулятора:



1. Арифметические операции:
- Сложение (+)
- Вычитание (-)
- Умножение (×)
- Деление (÷)
- Возведение в степень (^)
- Квадратный корень (√)

2. Особенности реализации:
- Валидация входных данных (проверка на числа)
- Защита от деления на ноль
- Обработка ошибок с понятными сообщениями
- Сохранение введенных значений после отправки формы
- Простой, но аккуратный интерфейс с CSS-стилизацией

3. Безопасность:
- Использование htmlspecialchars() для экранирования вывода
- Фильтрация ввода через filter_input()
- Проверка метода запроса

4. Удобство использования:
- Адаптивный дизайн
- Подсказки для пользователя
- Сохранение выбранной операции

Калькулятор готов к использованию - просто сохраните код в файл с расширением .php и запустите на веб-сервере с поддержкой PHP.
U
разработай дизайн в стиле apple
AI
Вот код калькулятора в стиле Apple (iOS калькулятор):

`php
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Калькулятор Apple</title>
<meta name="viewport" content="width=device-width, initial-scale=1.">
<style>
* {
margin: ;
padding: ;
box-sizing: border-box;
font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Icons', 'Helvetica Neue', Arial, sans-serif;
-webkit-font-smoothing: antialiased;
}

body {
background-color: #000;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
padding: 20px;
}

.calculator {
width: 100%;
max-width: 400px;
background-color: #000;
border-radius: 40px;
padding: 20px;
box-shadow: 25px 50px rgba(, , , .5);
position: relative;
overflow: hidden;
}

.display {
margin-bottom: 20px;
padding-right: 20px;
min-height: 120px;
display: flex;
flex-direction: column;
justify-content: flex-end;
align-items: flex-end;
overflow: hidden;
}

.previous-operation {
font-size: 28px;
color: rgba(255, 255, 255, .7);
margin-bottom: 10px;
min-height: 32px;
text-align: right;
width: 100%;
word-break: break-all;
}

.current-operation {
font-size: 64px;
color: #fff;
text-align: right;
width: 100%;
word-break: break-all;
font-weight: 300;
}

.buttons {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-gap: 12px;
}

.button {
width: 100%;
aspect-ratio: 1;
border-radius: 50%;
border: none;
font-size: 32px;
font-weight: 400;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
transition: all .2s ease;
user-select: none;
}

.button:active {
transform: scale(.95);
opacity: .8;
}

.button-gray {
background-color: #a5a5a5;
color: #000;
}

.button-gray:hover {
background-color: #d9d9d9;
}

.button-dark {
background-color: #333;
color: #fff;
}

.button-dark:hover {
background-color: #737373;
}

.button-orange {
background-color: #f1a33c;
color: #fff;
}

.button-orange:hover {
background-color: #ffb95e;
}

.button-orange.active {
background-color: #fff;
color: #f1a33c;
}

.button-zero {
grid-column: span 2;
aspect-ratio: 2.1;
border-radius: 40px;
justify-content: flex-start;
padding-left: 32px;
}

.operator {
font-size: 36px;
}

@media (max-width: 400px) {
.calculator {
border-radius: 20px;
}

.current-operation {
font-size: 48px;
}

.button {
font-size: 28px;
}
}

.result-message {
color: #f1a33c;
font-size: 18px;
text-align: center;
margin-top: 20px;
min-height: 25px;
padding: 10px;
border-top: 1px solid rgba(255, 255, 255, .1);
}
</style>
</head>
<body>
<div class="calculator">
<form method="post" id="calc-form">
<!-- Скрытые поля для хранения состояния -->
<input type="hidden" name="current_input" value="<?php echo htmlspecialchars($currentInput ?? ''); ?>">
<input type="hidden" name="previous_input" value="<?php echo htmlspecialchars($previousInput ?? ''); ?>">
<input type="hidden" name="operator" value="<?php echo htmlspecialchars($operator ?? ''); ?>">
<input type="hidden" name="result_calculated" value="<?php echo htmlspecialchars($resultCalculated ?? ''); ?>">

<div class="display">
<div class="previous-operation">
<?php
if (!empty($previousInput) && !empty($operator) && empty($resultCalculated)) {
echo htmlspecialchars($previousInput) . ' ' . htmlspecialchars($operator);
}
?>
</div>
<div class="current-operation" id="display">
<?php
if (!empty($resultCalculated)) {
echo htmlspecialchars(number_format($resultCalculated, 10, '.', ''));
} elseif (!empty($currentInput)) {
echo htmlspecialchars($currentInput);
} else {
echo '';
}
?>
</div>
</div>

<div class="buttons">
<!-- Первый ряд -->
<button type="submit" name="action" value="clear" class="button button-gray">
<?php echo (!empty($currentInput) && $currentInput != '') ? 'C' : 'AC'; ?>
</button>
<button type="submit" name="action" value="plusminus" class="button button-gray">±</button>
<button type="submit" name="action" value="percent" class="button button-gray">%</button>
<button type="submit" name="action" value="divide"
class="button button-orange operator <?php echo ($operator == '÷') ? 'active' : ''; ?>">÷</button>

<!-- Второй ряд -->
<button type="submit" name="action" value="7" class="button button-dark">7</button>
<button type="submit" name="action" value="8" class="button button-dark">8</button>
<button type="submit" name="action" value="9" class="button button-dark">9</button>
<button type="submit" name="action" value="multiply"
class="button button-orange operator <?php echo ($operator == '×') ? 'active' : ''; ?>">×</button>

<!-- Третий ряд -->
<button type="submit" name="action" value="4" class="button button-dark">4</button>
<button type="submit" name="action" value="5" class="button button-dark">5</button>
<button type="submit" name="action" value="6" class="button button-dark">6</button>
<button type="submit" name="action" value="subtract"
class="button button-orange operator <?php echo ($operator == '−') ? 'active' : ''; ?>">−</button>

<!-- Четвертый ряд -->
<button type="submit" name="action" value="1" class="button button-dark">1</button>
<button type="submit" name="action" value="2" class="button button-dark">2</button>
<button type="submit" name="action" value="3" class="button button-dark">3</button>
<button type="submit" name="action" value="add"
class="button button-orange operator <?php echo ($operator == '+') ? 'active' : ''; ?>">+</button>

<!-- Пятый ряд -->
<button type="submit" name="action" value="" class="button button-dark button-zero"></button>
<button type="submit" name="action" value="decimal" class="button button-dark">.</button>
<button type="submit" name="action" value="equals" class="button button-orange operator">=</button>
</div>

<div class="result-message">
<?php
if (!empty($error)) {
echo '<span style="color: #ff453a;">' . htmlspecialchars($error) . '</span>';
} elseif (!empty($resultCalculated)) {
echo 'Результат: ' . htmlspecialchars($previousInput ?? '') . ' ' .
htmlspecialchars($operator ?? '') . ' ' .
htmlspecialchars($currentInput ?? '') . ' = ' .
htmlspecialchars($resultCalculated);
}
?>
</div>
</form>
</div>

<?php
session_start();

// Инициализация переменных
$currentInput = $_SESSION['current_input'] ?? '';
$previousInput = $_SESSION['previous_input'] ?? '';
$operator = $_SESSION['operator'] ?? '';
$resultCalculated = $_SESSION['result_calculated'] ?? '';
$error = '';

// Обработка действий
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$action = $_POST['action'] ?? '';

switch ($action) {
case 'clear':
$currentInput = '';
$previousInput = '';
$operator = '';
$resultCalculated = '';
break;

case 'plusminus':
if (!empty($currentInput)) {
if (strpos($currentInput, '-') === ) {
$currentInput = substr($currentInput, 1);
} else {
$currentInput = '-' . $currentInput;
}
}
break;

case 'percent':
if (!empty($currentInput)) {
$currentInput = (float)$currentInput / 100;
}
break;

case 'decimal':
if (empty($currentInput)) {
$currentInput = '.';
} elseif (strpos($currentInput, '.') === false) {
$currentInput .= '.';
}
break;

case 'add':
case 'subtract':
case 'multiply':
case 'divide':
// Устанавливаем оператор с правильными символами
$operatorMap = [
'add' => '+',
'subtract' => '−',
'multiply' => '×',
'divide' => '÷'
];

if (!empty($currentInput)) {
if (!empty($previousInput) && !empty($operator) && empty($resultCalculated)) {
// Вычисляем предыдущую операцию
calculate();
}

$previousInput = $currentInput;
$currentInput = '';
$operator = $operatorMap[$action];
$resultCalculated = '';
}
break;

case 'equals':
if (!empty($previousInput) && !empty($operator) && !empty($currentInput))
U
лучше сделай в стиле яндекса с жёлтым
AI
Вот калькулятор в стиле Яндекса с жёлтым акцентом:

`php
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Яндекс Калькулятор</title>
<meta name="viewport" content="width=device-width, initial-scale=1.">
<style>
:root {
--yandex-yellow: #ffdb4d;
--yandex-yellow-hover: #ffd633;
--yandex-yellow-active: #ffcc00;
--yandex-dark: #1a1a1a;
--yandex-gray: #f2f2f2;
--yandex-gray-dark: #e6e6e6;
--yandex-text: #000;
--yandex-text-light: #666;
}

* {
margin: ;
padding: ;
box-sizing: border-box;
font-family: 'YS Text', 'Helvetica Neue', Arial, sans-serif;
}

body {
background: linear-gradient(135deg, #fff %, #f9f9f9 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}

.yandex-container {
width: 100%;
max-width: 420px;
}

.yandex-header {
display: flex;
align-items: center;
margin-bottom: 30px;
padding: 10px;
}

.yandex-logo {
font-size: 32px;
font-weight: 700;
color: var(--yandex-text);
margin-right: 15px;
}

.yandex-logo span {
color: var(--yandex-yellow);
}

.yandex-title {
font-size: 24px;
font-weight: 500;
color: var(--yandex-text);
}

.calculator-yandex {
background: white;
border-radius: 20px;
padding: 30px;
box-shadow: 10px 40px rgba(, , , .1);
border: 1px solid #eaeaea;
}

.display-yandex {
background: var(--yandex-gray);
border-radius: 12px;
padding: 25px;
margin-bottom: 30px;
border: 2px solid transparent;
transition: border-color .3s ease;
}

.display-yandex:focus-within {
border-color: var(--yandex-yellow);
}

.expression {
font-size: 20px;
color: var(--yandex-text-light);
min-height: 28px;
margin-bottom: 10px;
text-align: right;
word-break: break-all;
}

.input-field {
width: 100%;
border: none;
background: transparent;
font-size: 48px;
color: var(--yandex-text);
text-align: right;
outline: none;
font-weight: 400;
font-family: 'YS Display', 'Helvetica Neue', Arial, sans-serif;
}

.input-field::placeholder {
color: var(--yandex-text-light);
opacity: .5;
}

.buttons-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 15px;
}

.calc-btn {
height: 70px;
border: none;
border-radius: 12px;
font-size: 24px;
font-weight: 500;
cursor: pointer;
transition: all .2s ease;
display: flex;
align-items: center;
justify-content: center;
user-select: none;
}

.calc-btn:hover {
transform: translateY(-2px);
box-shadow: 4px 12px rgba(, , , .1);
}

.calc-btn:active {
transform: translateY();
}

.btn-number {
background: var(--yandex-gray);
color: var(--yandex-text);
}

.btn-number:hover {
background: var(--yandex-gray-dark);
}

.btn-operator {
background: var(--yandex-yellow);
color: var(--yandex-text);
font-weight: 600;
}

.btn-operator:hover {
background: var(--yandex-yellow-hover);
}

.btn-operator.active {
background: var(--yandex-yellow-active);
box-shadow: inset 2px 4px rgba(, , , .1);
}

.btn-equals {
background: var(--yandex-yellow);
color: var(--yandex-text);
font-weight: 600;
grid-column: span 2;
}

.btn-equals:hover {
background: var(--yandex-yellow-hover);
}

.btn-clear {
background: #ff6666;
color: white;
font-weight: 600;
}

.btn-clear:hover {
background: #ff4d4d;
}

.btn-extra {
background: #e6e6e6;
color: var(--yandex-text);
font-size: 20px;
}

.btn-extra:hover {
background: #d9d9d9;
}

.btn-zero {
grid-column: span 2;
}

.memory-indicator {
display: flex;
justify-content: center;
gap: 10px;
margin-top: 20px;
padding: 15px;
background: var(--yandex-gray);
border-radius: 12px;
font-size: 14px;
color: var(--yandex-text-light);
}

.memory-item {
padding: 5px 12px;
background: white;
border-radius: 6px;
border: 1px solid #eaeaea;
cursor: pointer;
transition: all .2s ease;
}

.memory-item:hover {
border-color: var(--yandex-yellow);
color: var(--yandex-text);
}

.yandex-footer {
margin-top: 30px;
text-align: center;
color: var(--yandex-text-light);
font-size: 14px;
padding: 10px;
}

.history-panel {
background: white;
border-radius: 12px;
padding: 20px;
margin-top: 20px;
max-height: 200px;
overflow-y: auto;
border: 1px solid #eaeaea;
display: none;
}

.history-panel.active {
display: block;
}

.history-item {
padding: 10px ;
border-bottom: 1px solid #fff;
color: var(--yandex-text);
font-size: 16px;
}

.history-item:last-child {
border-bottom: none;
}

.history-toggle {
background: none;
border: none;
color: var(--yandex-yellow);
font-weight: 500;
cursor: pointer;
margin-top: 15px;
font-size: 16px;
display: flex;
align-items: center;
gap: 8px;
}

@media (max-width: 480px) {
.calculator-yandex {
U
лучше сделай в стиле яндекса с жёлтым и красным
AI
Вот калькулятор в стиле Яндекса с жёлтым и красным акцентами:

`php
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Яндекс Калькулятор</title>
<meta name="viewport" content="width=device-width, initial-scale=1.">
<style>
:root {
--yandex-yellow: #ffdb4d;
--yandex-yellow-hover: #ffd633;
--yandex-yellow-active: #ffcc00;
--yandex-red: #ff3333;
--yandex-red-hover: #ff1a1a;
--yandex-red-active: #e60000;
--yandex-dark: #1a1a1a;
--yandex-gray: #f2f2f2;
--yandex-gray-dark: #e6e6e6;
--yandex-gray-light: #fafafa;
--yandex-text: #000;
--yandex-text-light: #666;
--yandex-border: #eee;
}

* {
margin: ;
padding: ;
box-sizing: border-box;
font-family: 'YS Text', 'Helvetica Neue', Arial, sans-serif;
}

body {
background: linear-gradient(135deg, #f8f8f8 %, #ffffff 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}

.yandex-container {
width: 100%;
max-width: 450px;
background: white;
border-radius: 24px;
box-shadow: 10px 40px rgba(, , , .1);
overflow: hidden;
border: 1px solid var(--yandex-border);
}

.yandex-header {
background: linear-gradient(90deg, var(--yandex-red) %, var(--yandex-yellow) 100%);
padding: 25px 30px;
display: flex;
align-items: center;
justify-content: space-between;
}

.yandex-logo {
display: flex;
align-items: center;
gap: 15px;
}

.yandex-logo-circle {
width: 40px;
height: 40px;
background: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 20px;
color: var(--yandex-red);
box-shadow: 2px 8px rgba(, , , .1);
}

.yandex-title {
font-size: 28px;
font-weight: 700;
color: white;
text-shadow: 2px 4px rgba(, , , .1);
}

.calculator-body {
padding: 30px;
}

.display-container {
background: var(--yandex-gray-light);
border-radius: 16px;
padding: 25px;
margin-bottom: 30px;
border: 2px solid var(--yandex-border);
position: relative;
overflow: hidden;
}

.display-container::before {
content: '';
position: absolute;
top: ;
left: ;
right: ;
height: 4px;
background: linear-gradient(90deg, var(--yandex-red), var(--yandex-yellow));
}

.expression-display {
font-size: 22px;
color: var(--yandex-text-light);
min-height: 30px;
margin-bottom: 15px;
text-align: right;
word-break: break-all;
font-weight: 400;
}

.result-display {
width: 100%;
border: none;
background: transparent;
font-size: 56px;
color: var(--yandex-text);
text-align: right;
outline: none;
font-weight: 500;
font-family: 'YS Display', 'Helvetica Neue', Arial, sans-serif;
direction: ltr;
}

.result-display::placeholder {
color: var(--yandex-text-light);
opacity: .4;
}

.buttons-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 15px;
margin-bottom: 25px;
}

.calc-btn {
height: 75px;
border: none;
border-radius: 16px;
font-size: 26px;
font-weight: 500;
cursor: pointer;
transition: all .2s cubic-bezier(.4, , .2, 1);
display: flex;
align-items: center;
justify-content: center;
user-select: none;
position: relative;
overflow: hidden;
}

.calc-btn::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: ;
height: ;
border-radius: 50%;
background: rgba(255, 255, 255, .3);
transform: translate(-50%, -50%);
transition: width .3s, height .3s;
}

.calc-btn:active::after {
width: 200px;
height: 200px;
}

.calc-btn:hover {
transform: translateY(-3px);
box-shadow: 6px 20px rgba(, , , .15);
}

.calc-btn:active {
transform: translateY(-1px);
}

.btn-number {
background: white;
color: var(--yandex-text);
border: 2px solid var(--yandex-border);
}

.btn-number:hover {
background: var(--yandex-gray);
border-color: var(--yandex-yellow);
}

.btn-operator {
background: var(--yandex-yellow);
color: var(--yandex-text);
font-weight: 600;
border: 2px solid transparent;
}

.btn-operator:hover {
background: var(--yandex-yellow-hover);
border-color: var(--yandex-yellow-active);
}

.btn-operator.active {
background: var(--yandex-yellow-active);
box-shadow: inset 2px 8px rgba(, , , .1);
}

.btn-equals {
background: var(--yandex-red);
color: white;
font-weight: 600;
grid-column: span 2;
border: 2px solid transparent;
}

.btn-equals:hover {
background: var(--yandex-red-hover);
border-color: var(--yandex-red-active);
}

.btn-clear {
background: var(--yandex-red);
color: white;
font-weight: 600;
border: 2px solid transparent;
}

.btn-clear:hover {
background: var(--yandex-red-hover);
border-color: var(--yandex-red-active);
}

.btn-extra {
background: var(--yandex-gray);
color: var(--yandex-text);
font-size: 22px;
border: 2px solid transparent;
}

.btn-extra:hover {
background: var(--yandex-gray-dark);
border-color: var(--yandex-border);
}

.btn-zero {
grid-column: span 2;
}

.memory-section {
background: var(--yandex-gray-light);
border-radius: 16px;
padding: 20px;
border: 2px solid var(--yandex-border);
}

.memory-title {
font-size: 18px;
font-weight: 600;
color: var(--yandex-text);
margin-bottom: 15px;
display: flex;
align-items: center;
gap: 10px;
}

.memory-title::before {
content: '💾';
font-size: 20px;
}

.memory-buttons {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px;
}

.memory-btn {
padding: 12px;
background: white;
border: 2px solid var(--yandex-border);
border-radius: 12px;
font-size: 16px;
font-weight: 500;
cursor: pointer;
transition: all .2s ease;
text-align: center;
}

.memory-btn:hover {
background: var(--yandex-gray);
border-color: var(--yandex-yellow);
}

.memory-btn.red {
background: var(--yandex-red);
color: white;
border-color: transparent;
}

.memory-btn.red:hover {
background: var(--yandex-red-hover);
}

.yandex-footer {
padding: 20px 30px;
background: var(--yandex-gray-light);
border-top: 1px solid var(--yandex-border);
text-align: center;
color: var(--yandex-text-light);
font-size: 14px;
}

.error-message {
background: linear-gradient(90deg, #fff5f5, #ffe6e6);
border-left: 4px solid var(--yandex-red);
padding: 15px;
border-radius: 8px;
margin-bottom: 20px;
color: var(--yandex-red);
font-weight: 500;
display: none;
}

.error-message.show {
display: block;
animation: slideIn .3s ease;
}

@keyframes slideIn {
from {
opacity: ;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY();
}
}

@media (max-width: 480px) {
.yandex-container {
border-radius: 16px;
}

.calculator-body {
padding: 20px;
}

.result-display {
font-size: 48px;
}

.calc-btn {
height: 65px;
font-size: 22px;
}

.buttons-grid {
gap: 12px;
}
}
</style>
</head>
<body>
<div class="yandex-container">
<div class="yandex-header">
<div class="yandex-logo">
<div class="yandex-logo-circle">Я</div>
<div class="yandex-title">Калькулятор</div>
</div>
</div>

<div class="calculator-body">
<div class="error-message" id="errorMessage"></div>

<div class="display-container">
<div class="expression-display" id="expressionDisplay">
<?php
if (!empty($expression)) {
echo htmlspecialchars($expression);
}
?>
</div>
<input type="text"
class="result-display"
id="resultDisplay"
value="<?php echo htmlspecialchars($currentDisplay ?? ''); ?>"
readonly
placeholder="">
</div>

<form method="post" id="calcForm">
<input type="hidden" name="current_value" id="currentValue"
value="<?php echo htmlspecialchars($currentValue ?? ''); ?>">
<input type="hidden" name="previous_value" id="previousValue"
value="<?php echo htmlspecialchars($previousValue ?? ''); ?>">
<input type="hidden" name="current_operator" id="currentOperator"
value="<?php echo htmlspecialchars($currentOperator ?? ''); ?>">
<input type="hidden" name="memory_value" id="memoryValue"
value="<?php echo htmlspecialchars($memoryValue ?? ''); ?>">

<div class="buttons-grid">
<!-- Первый ряд -->
<button type="submit" name="action" value="clear" class="calc-btn btn-clear">
<?php echo (isset($currentValue) && $currentValue != '') ? 'C' : 'AC'; ?>
</button>
<button type="submit" name="action" value="plusminus" class="calc-btn btn-extra">±</button>
<button type="submit" name="action" value="percent" class="calc-btn btn-extra">%</button>
<button type="submit" name="action" value="divide"
class="calc-btn btn-operator <?php echo ($currentOperator == '/') ? 'active' : ''; ?>">÷</button>

<!-- Второй ряд -->
<button type="button" onclick="addNumber('7')" class="calc-btn btn-number">7</button>
<button type="button" onclick="addNumber('8')" class="calc-btn btn-number">8</button>
<button type="button" onclick="addNumber('9')" class="calc-btn btn-number">9</button>
<button type="submit" name="action" value="multiply"
class="calc-btn btn-operator <?php echo ($currentOperator == '*') ? 'active' : ''; ?>">×</button>

<!-- Третий ряд -->
<button type="button" onclick="addNumber('4')" class="calc-btn btn-number">4</button>
<button type="button" onclick="addNumber('5')" class="calc-btn btn-number">5</button>
<button type="button" onclick="addNumber('6')" class="calc-btn btn-number">6</button>
<button type="submit" name="action" value="subtract"
class="calc-btn btn-operator <?php echo ($currentOperator == '-') ? 'active' : ''; ?>">−</button>

<!-- Четвертый ряд -->
<button type="button" onclick="addNumber('1')" class="calc-btn btn-number">1</button>
<button type="button" onclick="addNumber('2')" class="calc-btn btn-number">2</button>
<button type="button" onclick="addNumber('3')" class="calc-btn btn-number">3</button>
<button type="submit" name="action" value="add"
class="calc-btn btn-operator <?php echo ($currentOperator == '+') ? 'active' : ''; ?>">+</button>

<!-- Пятый ряд -->
<button type="button" onclick="addNumber('')" class="calc-btn btn-number btn-zero"></button>
<button type="button" onclick="addDecimal()" class="calc-btn btn-extra">.</button>
<button type="submit" name="action" value="equals" class="calc-btn btn-equals">=</button>
</div>
</form>

<div class="memory-section">
<div class="memory-title">Память</div>
<div class="memory-buttons">
<button type="submit" name="action" value="memory_clear" class="memory-btn red">MC</button>
<button type="submit" name="action" value="memory_recall" class="memory-btn">MR</button>
<button type="submit" name="action" value="memory_add" class="memory-btn">M+</button>
<button type="submit" name="action" value="memory_subtract" class="memory-btn">M-</button>
</div>
</div>
</div>

<div class="yandex-footer">
Яндекс Калькулятор © 2024
</div>
</div>

<?php
session_start();

// Инициализация переменных
$currentValue = $_SESSION['current_value'] ?? '';
$previousValue = $_SESSION['previous_value'] ?? '';
$currentOperator = $_SESSION['current_operator'] ?? '';
$memoryValue = $_SESSION['memory_value'] ?? '';
$currentDisplay = $currentValue;
$expression = '';

// Обработка действий
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$action = $_POST['action'] ?? '';

switch ($action) {
case 'clear':
$currentValue = '';
$previousValue = '';
$currentOperator = '';
break;

case 'plusminus':
if ($currentValue != '') {
if (strpos($currentValue, '-') === ) {
$currentValue = substr($currentValue, 1);
} else {
$currentValue = '-' . $currentValue;
}
}
break;

case 'percent':
if ($currentValue != '') {
$currentValue = (float)$currentValue / 100;
}
break;

// Операторы
case 'add':
case 'subtract':
case 'multiply':
case 'divide':
if (!empty($previousValue) && !empty($currentOperator) && $currentValue != '') {
// Вычисляем предыдущую операцию
calculate();
U
повтори свой ответ
AI
Вот калькулятор в стиле Яндекса с жёлтым и красным акцентами:

`php
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Яндекс Калькулятор</title>
<meta name="viewport" content="width=device-width, initial-scale=1.">
<style>
:root {
--yandex-yellow: #ffdb4d;
--yandex-yellow-hover: #ffd633;
--yandex-yellow-active: #ffcc00;
--yandex-red: #ff3333;
--yandex-red-hover: #ff1a1a;
--yandex-red-active: #e60000;
--yandex-dark: #1a1a1a;
--yandex-gray: #f2f2f2;
--yandex-gray-dark: #e6e6e6;
--yandex-gray-light: #fafafa;
--yandex-text: #000;
--yandex-text-light: #666;
--yandex-border: #eee;
}

* {
margin: ;
padding: ;
box-sizing: border-box;
font-family: 'YS Text', 'Helvetica Neue', Arial, sans-serif;
}

body {
background: linear-gradient(135deg, #f8f8f8 %, #ffffff 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}

.yandex-container {
width: 100%;
max-width: 450px;
background: white;
border-radius: 24px;
box-shadow: 10px 40px rgba(, , , .1);
overflow: hidden;
border: 1px solid var(--yandex-border);
}

.yandex-header {
background: linear-gradient(90deg, var(--yandex-red) %, var(--yandex-yellow) 100%);
padding: 25px 30px;
display: flex;
align-items: center;
justify-content: space-between;
}

.yandex-logo {
display: flex;
align-items: center;
gap: 15px;
}

.yandex-logo-circle {
width: 40px;
height: 40px;
background: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 20px;
color: var(--yandex-red);
box-shadow: 2px 8px rgba(, , , .1);
}

.yandex-title {
font-size: 28px;
font-weight: 700;
color: white;
text-shadow: 2px 4px rgba(, , , .1);
}

.calculator-body {
padding: 30px;
}

.display-container {
background: var(--yandex-gray-light);
border-radius: 16px;
padding: 25px;
margin-bottom: 30px;
border: 2px solid var(--yandex-border);
position: relative;
overflow: hidden;
}

.display-container::before {
content: '';
position: absolute;
top: ;
left: ;
right: ;
height: 4px;
background: linear-gradient(90deg, var(--yandex-red), var(--yandex-yellow));
}

.expression-display {
font-size: 22px;
color: var(--yandex-text-light);
min-height: 30px;
margin-bottom: 15px;
text-align: right;
word-break: break-all;
font-weight: 400;
}

.result-display {
width: 100%;
border: none;
background: transparent;
font-size: 56px;
color: var(--yandex-text);
text-align: right;
outline: none;
font-weight: 500;
font-family: 'YS Display', 'Helvetica Neue', Arial, sans-serif;
direction: ltr;
}

.result-display::placeholder {
color: var(--yandex-text-light);
opacity: .4;
}

.buttons-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 15px;
margin-bottom: 25px;
}

.calc-btn {
height: 75px;
border: none;
border-radius: 16px;
font-size: 26px;
font-weight: 500;
cursor: pointer;
transition: all .2s cubic-bezier(.4, , .2, 1);
display: flex;
align-items: center;
justify-content: center;
user-select: none;
position: relative;
overflow: hidden;
}

.calc-btn::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: ;
height: ;
border-radius: 50%;
background: rgba(255, 255, 255, .3);
transform: translate(-50%, -50%);
transition: width .3s, height .3s;
}

.calc-btn:active::after {
width: 200px;
height: 200px;
}

.calc-btn:hover {
transform: translateY(-3px);
box-shadow: 6px 20px rgba(, , , .15);
}

.calc-btn:active {
transform: translateY(-1px);
}

.btn-number {
background: white;
color: var(--yandex-text);
border: 2px solid var(--yandex-border);
}

.btn-number:hover {
background: var(--yandex-gray);
border-color: var(--yandex-yellow);
}

.btn-operator {
background: var(--yandex-yellow);
color: var(--yandex-text);
font-weight: 600;
border: 2px solid transparent;
}

.btn-operator:hover {
background: var(--yandex-yellow-hover);
border-color: var(--yandex-yellow-active);
}

.btn-operator.active {
background: var(--yandex-yellow-active);
box-shadow: inset 2px 8px rgba(, , , .1);
}

.btn-equals {
background: var(--yandex-red);
color: white;
font-weight: 600;
grid-column: span 2;
border: 2px solid transparent;
}

.btn-equals:hover {
background: var(--yandex-red-hover);
border-color: var(--yandex-red-active);
}

.btn-clear {
background: var(--yandex-red);
color: white;
font-weight: 600;
border: 2px solid transparent;
}

.btn-clear:hover {
background: var(--yandex-red-hover);
border-color: var(--yandex-red-active);
}

.btn-extra {
background: var(--yandex-gray);
color: var(--yandex-text);
font-size: 22px;
border: 2px solid transparent;
}

.btn-extra:hover {
background: var(--yandex-gray-dark);
border-color: var(--yandex-border);
}

.btn-zero {
grid-column: span 2;
}

.memory-section {
background: var(--yandex-gray-light);
border-radius: 16px;
padding: 20px;
border: 2px solid var(--yandex-border);
}

.memory-title {
font-size: 18px;
font-weight: 600;
color: var(--yandex-text);
margin-bottom: 15px;
display: flex;
align-items: center;
gap: 10px;
}

.memory-title::before {
content: '💾';
font-size: 20px;
}

.memory-buttons {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px;
}

.memory-btn {
padding: 12px;
background: white;
border: 2px solid var(--yandex-border);
border-radius: 12px;
font-size: 16px;
font-weight: 500;
cursor: pointer;
transition: all .2s ease;
text-align: center;
}

.memory-btn:hover {
background: var(--yandex-gray);
border-color: var(--yandex-yellow);
}

.memory-btn.red {
background: var(--yandex-red);
color: white;
border-color: transparent;
}

.memory-btn.red:hover {
background: var(--yandex-red-hover);
}

.yandex-footer {
padding: 20px 30px;
background: var(--yandex-gray-light);
border-top: 1px solid var(--yandex-border);
text-align: center;
color: var(--yandex-text-light);
font-size: 14px;
}

.error-message {
background: linear-gradient(90deg, #fff5f5, #ffe6e6);
border-left: 4px solid var(--yandex-red);
padding: 15px;
border-radius: 8px;
margin-bottom: 20px;
color: var(--yandex-red);
font-weight: 500;
display: none;
}

.error-message.show {
display: block;
animation: slideIn .3s ease;
}

@keyframes slideIn {
from {
opacity: ;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY();
}
}

@media (max-width: 480px) {
.yandex-container {
border-radius: 16px;
}

.calculator-body {
padding: 20px;
}

.result-display {
font-size: 48px;
}

.calc-btn {
height: 65px;
font-size: 22px;
}

.buttons-grid {
gap: 12px;
}
}
</style>
</head>
<body>
<div class="yandex-container">
<div class="yandex-header">
<div class="yandex-logo">
<div class="yandex-logo-circle">Я</div>
<div class="yandex-title">Калькулятор</div>
</div>
</div>

<div class="calculator-body">
<div class="error-message" id="errorMessage"></div>

<div class="display-container">
<div class="expression-display" id="expressionDisplay">
<?php
if (!empty($expression)) {
echo htmlspecialchars($expression);
}
?>
</div>
<input type="text"
class="result-display"
id="resultDisplay"
value="<?php echo htmlspecialchars($currentDisplay ?? ''); ?>"
readonly
placeholder="">
</div>

<form method="post" id="calcForm">
<input type="hidden" name="current_value" id="currentValue"
value="<?php echo htmlspecialchars($currentValue ?? ''); ?>">
<input type="hidden" name="previous_value" id="previousValue"
value="<?php echo htmlspecialchars($previousValue ?? ''); ?>">
<input type="hidden" name="current_operator" id="currentOperator"
value="<?php echo htmlspecialchars($currentOperator ?? ''); ?>">
<input type="hidden" name="memory_value" id="memoryValue"
value="<?php echo htmlspecialchars($memoryValue ?? ''); ?>">

<div class="buttons-grid">
<!-- Первый ряд -->
<button type="submit" name="action" value="clear" class="calc-btn btn-clear">
<?php echo (isset($currentValue) && $currentValue != '') ? 'C' : 'AC'; ?>
</button>
<button type="submit" name="action" value="plusminus" class="calc-btn btn-extra">±</button>
<button type="submit" name="action" value="percent" class="calc-btn btn-extra">%</button>
<button type="submit" name="action" value="divide"
class="calc-btn btn-operator <?php echo ($currentOperator == '/') ? 'active' : ''; ?>">÷</button>

<!-- Второй ряд -->
<button type="button" onclick="addNumber('7')" class="calc-btn btn-number">7</button>
<button type="button" onclick="addNumber('8')" class="calc-btn btn-number">8</button>
<button type="button" onclick="addNumber('9')" class="calc-btn btn-number">9</button>
<button type="submit" name="action" value="multiply"
class="calc-btn btn-operator <?php echo ($currentOperator == '*') ? 'active' : ''; ?>">×</button>

<!-- Третий ряд -->
<button type="button" onclick="addNumber('4')" class="calc-btn btn-number">4</button>
<button type="button" onclick="addNumber('5')" class="calc-btn btn-number">5</button>
<button type="button" onclick="addNumber('6')" class="calc-btn btn-number">6</button>
<button type="submit" name="action" value="subtract"
class="calc-btn btn-operator <?php echo ($currentOperator == '-') ? 'active' : ''; ?>">−</button>

<!-- Четвертый ряд -->
<button type="button" onclick="addNumber('1')" class="calc-btn btn-number">1</button>
<button type="button" onclick="addNumber('2')" class="calc-btn btn-number">2</button>
<button type="button" onclick="addNumber('3')" class="calc-btn btn-number">3</button>
<button type="submit" name="action" value="add"
class="calc-btn btn-operator <?php echo ($currentOperator == '+') ? 'active' : ''; ?>">+</button>

<!-- Пятый ряд -->
<button type="button" onclick="addNumber('')" class="calc-btn btn-number btn-zero"></button>
<button type="button" onclick="addDecimal()" class="calc-btn btn-extra">.</button>
<button type="submit" name="action" value="equals" class="calc-btn btn-equals">=</button>
</div>

<div class="memory-section">
<div class="memory-title">Память</div>
<div class="memory-buttons">
<button type="submit" name="action" value="memory_clear" class="memory-btn red">MC</button>
<button type="submit" name="action" value="memory_recall" class="memory-btn">MR</button>
<button type="submit" name="action" value="memory_add" class="memory-btn">M+</button>
<button type="submit" name="action" value="memory_subtract" class="memory-btn">M-</button>
</div>
</div>
</form>
</div>

<div class="yandex-footer">
Яндекс Калькулятор © 2024
</div>
</div>

<script>
function addNumber(num) {
const currentValue = document.getElementById('currentValue');
const resultDisplay = document.getElementById('resultDisplay');

if (resultDisplay.value === '' || resultDisplay.value === 'Error') {
currentValue.value = num;
resultDisplay.value = num;
} else {
currentValue.value += num;
resultDisplay.value = currentValue.value;
}

updateForm();
}

function addDecimal() {
const currentValue = document.getElementById('currentValue');
const resultDisplay = document.getElementById('resultDisplay');

if (!currentValue.value.includes('.')) {
if (currentValue.value === '' || resultDisplay.value === 'Error') {
currentValue.value = '.';
resultDisplay.value = '.';
} else {
currentValue.value += '.';
resultDisplay.value = currentValue.value;
}
updateForm();
}
}

function updateForm() {
document.getElementById('calcForm').submit();
}

function showError(message) {
const errorDiv = document.getElementById('errorMessage');
errorDiv.textContent = message;
errorDiv.classList.add('show');
setTimeout(() => {
errorDiv.classList.remove('show');
}, 300);
}
</script>

<?php
session_start();

// Инициализация переменных
$currentValue = $_SESSION['current_value'] ?? '';
$previousValue = $_SESSION['previous_value'] ?? '';
$currentOperator = $_SESSION['current_operator'] ?? '';
$memoryValue = $_SESSION['memory_value'] ?? ;
$currentDisplay = $currentValue ?: '
U
повтори код, но без красного
AI
Вот калькулятор в стиле Яндекса без красного цвета, только с жёлтыми и серыми акцентами:

`php
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Яндекс Калькулятор</title>
<meta name="viewport" content="width=device-width, initial-scale=1.">
<style>
:root {
--yandex-yellow: #ffdb4d;
--yandex-yellow-hover: #ffd633;
--yandex-yellow-active: #ffcc00;
--yandex-yellow-dark: #e6b800;
--yandex-gray: #f2f2f2;
--yandex-gray-dark: #e6e6e6;
--yandex-gray-light: #fafafa;
--yandex-text: #000;
--yandex-text-light: #666;
--yandex-border: #eee;
--yandex-shadow: rgba(, , , .1);
}

* {
margin: ;
padding: ;
box-sizing: border-box;
font-family: 'YS Text', 'Helvetica Neue', Arial, sans-serif;
}

body {
background: linear-gradient(135deg, #f8f8f8 %, #ffffff 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}

.yandex-container {
width: 100%;
max-width: 450px;
background: white;
border-radius: 24px;
box-shadow: 10px 40px var(--yandex-shadow);
overflow: hidden;
border: 1px solid var(--yandex-border);
}

.yandex-header {
background: var(--yandex-yellow);
padding: 25px 30px;
display: flex;
align-items: center;
justify-content: space-between;
}

.yandex-logo {
display: flex;
align-items: center;
gap: 15px;
}

.yandex-logo-circle {
width: 40px;
height: 40px;
background: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 20px;
color: var(--yandex-yellow-dark);
box-shadow: 2px 8px var(--yandex-shadow);
}

.yandex-title {
font-size: 28px;
font-weight: 700;
color: var(--yandex-text);
text-shadow: 1px 2px rgba(255, 255, 255, .5);
}

.calculator-body {
padding: 30px;
}

.display-container {
background: var(--yandex-gray-light);
border-radius: 16px;
padding: 25px;
margin-bottom: 30px;
border: 2px solid var(--yandex-border);
position: relative;
overflow: hidden;
}

.display-container::before {
content: '';
position: absolute;
top: ;
left: ;
right: ;
height: 4px;
background: var(--yandex-yellow);
}

.expression-display {
font-size: 22px;
color: var(--yandex-text-light);
min-height: 30px;
margin-bottom: 15px;
text-align: right;
word-break: break-all;
font-weight: 400;
}

.result-display {
width: 100%;
border: none;
background: transparent;
font-size: 56px;
color: var(--yandex-text);
text-align: right;
outline: none;
font-weight: 500;
font-family: 'YS Display', 'Helvetica Neue', Arial, sans-serif;
direction: ltr;
}

.result-display::placeholder {
color: var(--yandex-text-light);
opacity: .4;
}

.buttons-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 15px;
margin-bottom: 25px;
}

.calc-btn {
height: 75px;
border: none;
border-radius: 16px;
font-size: 26px;
font-weight: 500;
cursor: pointer;
transition: all .2s cubic-bezier(.4, , .2, 1);
display: flex;
align-items: center;
justify-content: center;
user-select: none;
position: relative;
overflow: hidden;
}

.calc-btn::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: ;
height: ;
border-radius: 50%;
background: rgba(255, 255, 255, .3);
transform: translate(-50%, -50%);
transition: width .3s, height .3s;
}

.calc-btn:active::after {
width: 200px;
height: 200px;
}

.calc-btn:hover {
transform: translateY(-3px);
box-shadow: 6px 20px var(--yandex-shadow);
}

.calc-btn:active {
transform: translateY(-1px);
}

.btn-number {
background: white;
color: var(--yandex-text);
border: 2px solid var(--yandex-border);
}

.btn-number:hover {
background: var(--yandex-gray);
border-color: var(--yandex-yellow);
}

.btn-operator {
background: var(--yandex-yellow);
color: var(--yandex-text);
font-weight: 600;
border: 2px solid transparent;
}

.btn-operator:hover {
background: var(--yandex-yellow-hover);
border-color: var(--yandex-yellow-active);
}

.btn-operator.active {
background: var(--yandex-yellow-active);
box-shadow: inset 2px 8px var(--yandex-shadow);
}

.btn-equals {
background: var(--yandex-yellow-dark);
color: white;
font-weight: 600;
grid-column: span 2;
border: 2px solid transparent;
}

.btn-equals:hover {
background: var(--yandex-yellow-active);
border-color: var(--yandex-yellow-dark);
}

.btn-clear {
background: var(--yandex-gray-dark);
color: var(--yandex-text);
font-weight: 600;
border: 2px solid transparent;
}

.btn-clear:hover {
background: var(--yandex-gray);
border-color: var(--yandex-border);
}

.btn-extra {
background: var(--yandex-gray);
color: var(--yandex-text);
font-size: 22px;
border: 2px solid transparent;
}

.btn-extra:hover {
background: var(--yandex-gray-dark);
border-color: var(--yandex-border);
}

.btn-zero {
grid-column: span 2;
}

.memory-section {
background: var(--yandex-gray-light);
border-radius: 16px;
padding: 20px;
border: 2px solid var(--yandex-border);
}

.memory-title {
font-size: 18px;
font-weight: 600;
color: var(--yandex-text);
margin-bottom: 15px;
display: flex;
align-items: center;
gap: 10px;
}

.memory-title::before {
content: '💾';
font-size: 20px;
}

.memory-buttons {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px;
}

.memory-btn {
padding: 12px;
background: white;
border: 2px solid var(--yandex-border);
border-radius: 12px;
font-size: 16px;
font-weight: 500;
cursor: pointer;
transition: all .2s ease;
text-align: center;
}

.memory-btn:hover {
background: var(--yandex-gray);
border-color: var(--yandex-yellow);
}

.memory-btn.yellow {
background: var(--yandex-yellow);
color: var(--yandex-text);
border-color: transparent;
}

.memory-btn.yellow:hover {
background: var(--yandex-yellow-hover);
}

.yandex-footer {
padding: 20px 30px;
background: var(--yandex-gray-light);
border-top: 1px solid var(--yandex-border);
text-align: center;
color: var(--yandex-text-light);
font-size: 14px;
}

.notification {
background: linear-gradient(90deg, #fff9e6, #fff2cc);
border-left: 4px solid var(--yandex-yellow);
padding: 15px;
border-radius: 8px;
margin-bottom: 20px;
color: var(--yandex-yellow-dark);
font-weight: 500;
display: none;
}

.notification.show {
display: block;
animation: slideIn .3s ease;
}

@keyframes slideIn {
from {
opacity: ;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY();
}
}

@media (max-width: 480px) {
.yandex-container {
border-radius: 16px;
}

.calculator-body {
padding: 20px;
}

.result-display {
font-size: 48px;
}

.calc-btn {
height: 65px;
font-size: 22px;
}

.buttons-grid {
gap: 12px;
}
}
</style>
</head>
<body>
<div class="yandex-container">
<div class="yandex-header">
<div class="yandex-logo">
<div class="yandex-logo-circle">Я</div>
<div class="yandex-title">Калькулятор</div>
</div>
</div>

<div class="calculator-body">
<div class="notification" id="notificationMessage"></div>

<div class="display-container">
<div class="expression-display" id="expressionDisplay">
<?php
if (!empty($expression)) {
echo htmlspecialchars($expression);
}
?>
</div>
<input type="text"
class="result-display"
id="resultDisplay"
value="<?php echo htmlspecialchars($currentDisplay ?? ''); ?>"
readonly
placeholder="">
</div>

<form method="post" id="calcForm">
<input type="hidden" name="current_value" id="currentValue"
value="<?php echo htmlspecialchars($currentValue ?? ''); ?>">
<input type="hidden" name="previous_value" id="previousValue"
value="<?php echo htmlspecialchars($previousValue ?? ''); ?>">
<input type="hidden" name="current_operator" id="currentOperator"
value="<?php echo htmlspecialchars($currentOperator ?? ''); ?>">
<input type="hidden" name="memory_value" id="memoryValue"
value="<?php echo htmlspecialchars($memoryValue ?? ''); ?>">

<div class="buttons-grid">
<!-- Первый ряд -->
<button type="submit" name="action" value="clear" class="calc-btn btn-clear">
<?php echo (isset($currentValue) && $currentValue != '') ? 'C' : 'AC'; ?>
</button>
<button type="submit" name="action" value="plusminus" class="calc-btn btn-extra">±</button>
<button type="submit" name="action" value="percent" class="calc-btn btn-extra">%</button>
<button type="submit" name="action" value="divide"
class="calc-btn btn-operator <?php echo ($currentOperator == '/') ? 'active' : ''; ?>">÷</button>

<!-- Второй ряд -->
<button type="button" onclick="addNumber('7')" class="calc-btn btn-number">7</button>
<button type="button" onclick="addNumber('8')" class="calc-btn btn-number">8</button>
<button type="button" onclick="addNumber('9')" class="calc-btn btn-number">9</button>
<button type="submit" name="action" value="multiply"
class="calc-btn btn-operator <?php echo ($currentOperator == '*') ? 'active' : ''; ?>">×</button>

<!-- Третий ряд -->
<button type="button" onclick="addNumber('4')" class="calc-btn btn-number">4</button>
<button type="button" onclick="addNumber('5')" class="calc-btn btn-number">5</button>
<button type="button" onclick="addNumber('6')" class="calc-btn btn-number">6</button>
<button type="submit" name="action" value="subtract"
class="calc-btn btn-operator <?php echo ($currentOperator == '-') ? 'active' : ''; ?>">−</button>

<!-- Четвертый ряд -->
<button type="button" onclick="addNumber('1')" class="calc-btn btn-number">1</button>
<button type="button" onclick="addNumber('2')" class="calc-btn btn-number">2</button>
<button type="button" onclick="addNumber('3')" class="calc-btn btn-number">3</button>
<button type="submit" name="action" value="add"
class="calc-btn
U
повтори свой ответ
AI
Вот калькулятор в стиле Яндекса без красного цвета, только с жёлтыми и серыми акцентами:

`php
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Яндекс Калькулятор</title>
<meta name="viewport" content="width=device-width, initial-scale=1.">
<style>
:root {
--yandex-yellow: #ffdb4d;
--yandex-yellow-hover: #ffd633;
--yandex-yellow-active: #ffcc00;
--yandex-yellow-dark: #e6b800;
--yandex-gray: #f2f2f2;
--yandex-gray-dark: #e6e6e6;
--yandex-gray-light: #fafafa;
--yandex-text: #000;
--yandex-text-light: #666;
--yandex-border: #eee;
--yandex-shadow: rgba(, , , .1);
}

* {
margin: ;
padding: ;
box-sizing: border-box;
font-family: 'YS Text', 'Helvetica Neue', Arial, sans-serif;
}

body {
background: linear-gradient(135deg, #f8f8f8 %, #ffffff 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}

.yandex-container {
width: 100%;
max-width: 450px;
background: white;
border-radius: 24px;
box-shadow: 10px 40px var(--yandex-shadow);
overflow: hidden;
border: 1px solid var(--yandex-border);
}

.yandex-header {
background: var(--yandex-yellow);
padding: 25px 30px;
display: flex;
align-items: center;
justify-content: space-between;
}

.yandex-logo {
display: flex;
align-items: center;
gap: 15px;
}

.yandex-logo-circle {
width: 40px;
height: 40px;
background: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 20px;
color: var(--yandex-yellow-dark);
box-shadow: 2px 8px var(--yandex-shadow);
}

.yandex-title {
font-size: 28px;
font-weight: 700;
color: var(--yandex-text);
text-shadow: 1px 2px rgba(255, 255, 255, .5);
}

.calculator-body {
padding: 30px;
}

.display-container {
background: var(--yandex-gray-light);
border-radius: 16px;
padding: 25px;
margin-bottom: 30px;
border: 2px solid var(--yandex-border);
position: relative;
overflow: hidden;
}

.display-container::before {
content: '';
position: absolute;
top: ;
left: ;
right: ;
height: 4px;
background: var(--yandex-yellow);
}

.expression-display {
font-size: 22px;
color: var(--yandex-text-light);
min-height: 30px;
margin-bottom: 15px;
text-align: right;
word-break: break-all;
font-weight: 400;
}

.result-display {
width: 100%;
border: none;
background: transparent;
font-size: 56px;
color: var(--yandex-text);
text-align: right;
outline: none;
font-weight: 500;
font-family: 'YS Display', 'Helvetica Neue', Arial, sans-serif;
direction: ltr;
}

.result-display::placeholder {
color: var(--yandex-text-light);
opacity: .4;
}

.buttons-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 15px;
margin-bottom: 25px;
}

.calc-btn {
height: 75px;
border: none;
border-radius: 16px;
font-size: 26px;
font-weight: 500;
cursor: pointer;
transition: all .2s cubic-bezier(.4, , .2, 1);
display: flex;
align-items: center;
justify-content: center;
user-select: none;
position: relative;
overflow: hidden;
}

.calc-btn::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: ;
height: ;
border-radius: 50%;
background: rgba(255, 255, 255, .3);
transform: translate(-50%, -50%);
transition: width .3s, height .3s;
}

.calc-btn:active::after {
width: 200px;
height: 200px;
}

.calc-btn:hover {
transform: translateY(-3px);
box-shadow: 6px 20px var(--yandex-shadow);
}

.calc-btn:active {
transform: translateY(-1
U
повтори ответ
AI
Вот калькулятор в стиле Яндекса без красного цвета, только с жёлтыми и серыми акцентами:

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Яндекс Калькулятор</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.">
    <style>
        :root {
            --yandex-yellow: #ffdb4d;
            --yandex-yellow-hover: #ffd633;
            --yandex-yellow-active: #ffcc00;
            --yandex-yellow-dark: #e6b800;
            --yandex-gray: #f2f2f2;
            --yandex-gray-dark: #e6e6e6;
            --yandex-gray-light: #fafafa;
            --yandex-text: #000;
            --yandex-text-light: #666;
            --yandex-border: #eee;
            --yandex-shadow: rgba(, , , .1);
        }

        * {
            margin: ;
            padding: ;
            box-sizing: border-box;
            font-family: 'YS Text', 'Helvetica Neue', Arial, sans-serif;
        }

        body {
            background: linear-gradient(135deg, #f8f8f8 %, #ffffff 100%);
            min-height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 20px;
        }

        .yandex-container {
            width: 100%;
            max-width: 450px;
            background: white;
            border-radius: 24px;
            box-shadow:  10px 40px var(--yandex-shadow);
            overflow: hidden;
            border: 1px solid var(--yandex-border);
        }

        .yandex-header {
            background: var(--yandex-yellow);
            padding: 25px 30px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .yandex-logo {
            display: flex;
            align-items: center;
            gap: 15px;
        }

        .yandex-logo-circle {
            width: 40px;
            height: 40px;
            background: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            font-size: 20px;
            color: var(--yandex-yellow-dark);
            box-shadow:  2px 8px var(--yandex-shadow);
        }

        .yandex-title {
            font-size: 28px;
            font-weight: 700;
            color: var(--yandex-text);
            text-shadow:  1px 2px rgba(255, 255, 255, .5);
        }

        .calculator-body {
            padding: 30px;
        }

        .display-container {
            background: var(--yandex-gray-light);
            border-radius: 16px;
            padding: 25px;
            margin-bottom: 30px;
            border: 2px solid var(--yandex-border);
            position: relative;
            overflow: hidden;
        }

        .display-container::before {
            content: '';
            position: absolute;
            top: ;
            left: ;
            right: ;
            height: 4px;
            background: var(--yandex-yellow);
        }

        .expression-display {
            font-size: 22px;
            color: var(--yandex-text-light);
            min-height: 30px;
            margin-bottom: 15px;
            text-align: right;
            word-break: break-all;
            font-weight: 400;
        }

        .result-display {
            width: 100%;
            border: none;
            background: transparent;
            font-size: 56px;
            color: var(--yandex-text);
            text-align: right;
            outline: none;
            font-weight: 500;
            font-family: 'YS Display', 'Helvetica Neue', Arial, sans-serif;
            direction: ltr;
        }

        .result-display::placeholder {
            color: var(--yandex-text-light);
            opacity: .4;
        }

        .buttons-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 15px;
            margin-bottom: 25px;
        }

        .calc-btn {
            height: 75px;
            border: none;
            border-radius: 16px;
            font-size: 26px;
            font-weight: 500;
            cursor: pointer;
            transition: all .2s cubic-bezier(.4, , .2, 1);
            display: flex;
            align-items: center;
            justify-content: center;
            user-select: none;
            position: relative;
            overflow: hidden;
        }

        .calc-btn::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: ;
            height: ;
            border-radius: 50%;
            background: rgba(255, 255, 255, .3);
            transform: translate(-50%, -50%);
            transition: width .3s, height .3s;
        }

        .calc-btn:active::after {
            width: 200px;
            height: 200px;
        }

        .calc-btn:hover {
            transform: translateY(-3px);
            box-shadow:  6px 20px var(--yandex-shadow);
        }

        .calc-btn:active {
            transform: translateY(-1px);
        }

        .btn-number {
            background: white;
            color: var(--yandex-text);
            border: 2px solid var(--yandex-border);
        }

        .btn-number:hover {
            background: var(--yandex-gray);
            border-color: var(--yandex-yellow);
        }

        .btn-operator {
            background: var(--yandex-yellow);
            color: var(--yandex-text);
            font-weight: 600;
            border: 2px solid transparent;
        }

        .btn-operator:hover {
            background: var(--yandex-yellow-hover);
            border-color: var(--yandex-yellow-active);
        }

        .btn-operator.active {
            background: var(--yandex-yellow-active);
            box-shadow: inset  2px 8px var(--yandex-shadow);
        }

        .btn-equals {
            background: var(--yandex-yellow-dark);
            color: white;
            font-weight: 600;
            grid-column: span 2;
            border: 2px solid transparent;
        }

        .btn-equals:hover {
            background: var(--yandex-yellow-active);
            border-color: var(--yandex-yellow-dark);
        }

        .btn-clear {
            background: var(--yandex-gray-dark);
            color: var(--yandex-text);
            font-weight: 600;
            border: 2px solid transparent;
        }

        .btn-clear:hover {
            background: var(--yandex-gray);
            border-color: var(--yandex-border);
        }

        .btn-extra {
            background: var(--yandex-gray);
            color: var(--yandex-text);
            font-size: 22px;
            border: 2px solid transparent;
        }

        .btn-extra:hover {
            background: var(--yandex-gray-dark);
            border-color: var(--yandex-border);
        }

        .btn-zero {
            grid-column: span 2;
        }

        .memory-section {
            background: var(--yandex-gray-light);
            border-radius: 16px;
            padding: 20px;
            border: 2px solid var(--yandex-border);
        }

        .memory-title {
            font-size: 18px;
            font-weight: 600;
            color: var(--yandex-text);
            margin-bottom: 15px;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .memory-title::before {
            content: '💾';
            font-size: 20px;
        }

        .memory-buttons {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 10px;
        }

        .memory-btn {
            padding: 12px;
            background: white;
            border: 2px solid var(--yandex-border);
            border-radius: 12px;
            font-size: 16px;
            font-weight: 500;
            cursor: pointer;
            transition: all .2s ease;
            text-align: center;
        }

        .memory-btn:hover {
            background: var(--yandex-gray);
            border-color: var(--yandex-yellow);
        }

        .memory-btn.yellow {
            background: var(--yandex-yellow);
            color: var(--yandex-text);
            border-color: transparent;
        }

        .memory-btn.yellow:hover {
            background: var(--yandex-yellow-hover);
        }

        .yandex-footer {
            padding: 20px 30px;
            background: var(--yandex-gray-light);
            border-top: 1px solid var(--yandex-border);
            text-align: center;
            color: var(--yandex-text-light);
            font-size: 14px;
        }

        .notification {
            background: linear-gradient(90deg, #fff9e6, #fff2cc);
            border-left: 4px solid var(--yandex-yellow);
            padding: 15px;
            border-radius: 8px;
            margin-bottom: 20px;
            color: var(--yandex-yellow-dark);
            font-weight: 500;
            display: none;
        }

        .notification.show {
            display: block;
            animation: slideIn .3s ease;
        }

        @keyframes slideIn {
            from {
                opacity: ;
                transform: translateY(-10px);
            }
            to {
                opacity: 1;
                transform: translateY();
            }
        }

        @media (max-width: 480px) {
            .yandex-container {
                border-radius: 16px;
            }
            
            .calculator-body {
                padding: 20px;
            }
            
            .result-display {
                font-size: 48px;
            }
            
            .calc-btn {
                height: 65px;
                font-size: 22px;
            }
            
            .buttons-grid {
                gap: 12px;
            }
        }
    </style>
</head>
<body>
    <div class="yandex-container">
        <div class="yandex-header">
            <div class="yandex-logo">
                <div class="yandex-logo-circle">Я</div>
                <div class="yandex-title">Калькулятор</div>
            </div>
        </div>
        
        <div class="calculator-body">
            <div class="notification" id="notificationMessage"></div>
            
            <div class="display-container">
                <div class="expression-display" id="expressionDisplay">
                    <?php 
                    if (!empty($expression)) {
                        echo htmlspecialchars($expression);
                    }
                    ?>
                </div>
                <input type="text" 
                       class="result-display" 
                       id="resultDisplay" 
                       value="<?php echo htmlspecialchars($currentDisplay ?? ''); ?>" 
                       readonly
                       placeholder="">
            </div>
            
            <form method="post" id="calcForm">
                <input type="hidden" name="current_value" id="currentValue" 
                       value="<?php echo htmlspecialchars($currentValue ?? ''); ?>">
                <input type="hidden" name="previous_value" id="previousValue" 
                       value="<?php echo htmlspecialchars($previousValue ?? ''); ?>">
                <input type="hidden" name="current_operator" id="currentOperator" 
                       value="<?php echo htmlspecialchars($currentOperator ?? ''); ?>">
                <input type="hidden" name="memory_value" id="memoryValue" 
                       value="<?php echo htmlspecialchars($memoryValue ?? ''); ?>">
                
                <div class="buttons-grid">
                    <!-- Первый ряд -->
                    <button type="submit" name="action" value="clear" class="calc-btn btn-clear">
                        <?php echo (isset($currentValue) && $currentValue != '') ? 'C' : 'AC'; ?>
                    </button>
                    <button type="submit" name="action" value="plusminus" class="calc-btn btn-extra">±</button>
                    <button type="submit" name="action" value="percent" class="calc-btn btn-extra">%</button>
                    <button type="submit" name="action" value="divide" 
                            class="calc-btn btn-operator <?php echo ($currentOperator == '/') ? 'active' : ''; ?>">÷</button>
                    
                    <!-- Второй ряд -->
                    <button type="button" onclick="addNumber('7')" class="calc-btn btn-number">7</button>
                    <button type="button" onclick="addNumber('8')" class="calc-btn btn-number">8</button>
                    <button type="button" onclick="addNumber('9')" class="calc-btn btn-number">9</button>
                    <button type="submit" name="action" value="multiply" 
                            class="calc-btn btn-operator <?php echo ($currentOperator == '*') ? 'active' : ''; ?>">×</button>
                    
                    <!-- Третий ряд -->
                    <button type="button" onclick="addNumber('4')" class="calc-btn btn-number">4</button>
                    <button type="button" onclick="addNumber('5')" class="calc-btn btn-number">5</button>
                    <button type="button" onclick="addNumber('6')" class="calc-btn btn-number">6</button>
                    <button type="submit" name="action" value="subtract" 
                            class="calc-btn btn-operator <?php echo ($currentOperator == '-') ? 'active' : ''; ?>">−</button>
                    
                    <!-- Четвертый ряд -->
                    <button type="button" onclick="addNumber('1')" class="calc-btn btn-number">1</button>
                    <button type="button" onclick="addNumber('2')" class="calc-btn btn-number">2</button>
                    <button type="button" onclick="addNumber('3')" class="calc-btn btn-number">3</button>
                    <button type="submit" name="action" value="add" 
                            class="calc-btn btn-operator <?php echo ($currentOperator == '+') ? 'active' : ''; ?>">+</button>
                    
                    <!-- Пятый ряд -->
                    <button type="button" onclick="addNumber('')" class="calc-btn btn-number btn-zero"></button>
                    <button type="button" onclick="addDecimal()" class="calc-btn btn-extra">.</button>
                    <button type="submit" name="action" value="equals" class="calc-btn btn-equals">=</button>
                </div>
                
                <div class="memory-section">
                    <div class="memory-title">Память</div>
                    <div class="memory-buttons">
                        <button type="submit" name="action" value="memory_clear" class="memory-btn yellow">MC</button>
                        <button type="submit" name="action" value="memory_recall" class="memory-btn">MR</button>
                        <button type="submit" name="action" value="memory_add" class="memory-btn">M+</button>
                        <button type="submit" name="action" value="memory_subtract" class="memory-btn">M-</button>
                    </div>
                </div>
            </form>
        </div>
        
        <div class="yandex-footer">
            Яндекс Калькулятор © 2024
        </div>
    </div>

    <script>
        function addNumber(num) {
            const currentValue = document.getElementById('currentValue');
            const resultDisplay = document.getElementById('resultDisplay');
            
            if (resultDisplay.value === '' || resultDisplay.value === 'Error') {
                currentValue.value = num;
                resultDisplay.value = num;
            } else {
                currentValue.value += num;
                resultDisplay.value = currentValue.value;
            }
            
            updateForm();
        }
        
        function addDecimal() {
            const currentValue = document.getElementById('currentValue');
            const resultDisplay = document.getElementById('resultDisplay');
            
            if (!currentValue.value.includes('.')) {
                if (currentValue.value === '' || resultDisplay.value === 'Error') {
                    currentValue.value = '.';
                    resultDisplay.value = '.';
                } else {
                    currentValue.value += '.';
                    resultDisplay.value = currentValue.value;
                }
                updateForm();
            }
        }
        
        function updateForm() {
            document.getElementById('calcForm').submit();
        }
        
        function showNotification(message) {
            const notificationDiv = document.getElementById('notificationMessage');
            notificationDiv.textContent = message;
            notificationDiv.classList.add('show');
            setTimeout(() => {
                notificationDiv.classList.remove('show');
            }, 300);
        }
    </script>

    <?php
    session_start();
    
    // Инициализация переменных
    $currentValue = $_SESSION['current_value'] ?? '';
    $previousValue = $_SESSION['previous_value'] ?? '';
    $currentOperator = $_SESSION['current_operator'] ?? '';
    $memoryValue = $_SESSION['memory_value'] ?? ;
    $currentDisplay = $currentValue ?: '';
    $expression = '';
    
    // Обработка действий
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        $action = $_POST['action'] ?? '';
        
        switch ($action) {
            case 'clear':
                $currentValue = '';
                $previousValue = '';
                $currentOperator = '';
                $currentDisplay = '';
                break;
                
            case 'plusminus':
                if ($currentValue != '') {
                    if (strpos($currentValue, '-') === ) {
                        $currentValue = substr($currentValue, 1);
                    } else {
                        $currentValue = '-' . $currentValue;
                    }
                    $currentDisplay = $currentValue;
                }
                break;
                
            case 'percent':
                if ($currentValue != '') {
                    $currentValue = (float)$currentValue / 100;
                    $currentDisplay = $currentValue;
                }
                break;
                
            // Операторы
            case 'add':
            case 'subtract':
            case 'multiply':
            case 'divide':
                if (!empty($previousValue) && !empty($currentOperator) && $currentValue != '') {
                    // Вычисляем предыдущую операцию
                    calculate();
                }
                
                if ($currentValue != '') {
                    $previousValue = $currentValue;
                    $currentValue = '';
                    $currentOperator = $action;
                    $currentDisplay = '';
                    $expression = $previousValue . ' ' . getOperatorSymbol($action);
                }
                break;
                
            case 'equals':
                if (!empty($previousValue) && !empty($currentOperator) && $currentValue != '') {
                    calculate();
                }
                break;
                
            // Функции памяти
            case 'memory_clear':
                $memoryValue = ;
                break;
                
            case 'memory_recall':
                if ($memoryValue != ) {
                    $currentValue = $memoryValue;
                    $currentDisplay = $currentValue;
                }
                break;
                
            case 'memory_add':
                if ($currentValue != '') {
                    $memoryValue += (float)$currentValue;
                }
                break;
                
            case 'memory_subtract':
                if ($currentValue != '') {
                    $memoryValue -= (float)$currentValue;
                }
                break;
        }
        
        // Сохраняем в сессию
        $_SESSION['current_value'] = $currentValue;
        $_SESSION['previous_value'] = $previousValue;
        $_SESSION['current_operator'] = $currentOperator;
        $_SESSION['memory_value'] = $memoryValue;
    }
    
    function calculate() {
        global $currentValue, $previousValue, $currentOperator, $currentDisplay, $expression;
        
        $num1 = (float)$previousValue;
        $num2 = (float)$currentValue;
        $result = ;
        
        switch ($currentOperator) {
            case 'add':
                $result = $num1 + $num2;
                break;
            case 'subtract':
                $result = $num1 - $num2;
                break;
            case 'multiply':
                $result = $num1 * $num2;
                break;
            case 'divide':
                if ($num2 != ) {
                    $result = $num1 / $num2;
                } else {
                    $currentDisplay = 'Error';
                    return;
                }
                break;
        }
        
        $expression = $previousValue . ' ' . getOperatorSymbol($currentOperator) . ' ' . $currentValue . ' =';
        $currentValue = (string)$result;
        $previousValue = '';
        $currentOperator = '';
        $currentDisplay = $result;
    }
    
    function getOperatorSymbol($operator) {
        switch ($operator) {
            case 'add': return '+';
            case 'subtract': return '−';
            case 'multiply': return '×';
            case 'divide': return '÷';
            default: return '';
        }
    }
    ?>
</body>
</html>


Особенности дизайна:
1. Цветовая схема: Только жёлтые и серые оттенки в стиле Яндекса
2. Заголовок: Жёлтая шапка с логотипом "Я"
3. Кнопки:
- Числа: белые с серой рамкой
- Операторы: жёлтые
- Равно: тёмно-жёлтый
- Очистка: серый
4. Память: Отдельная секция с кнопками памяти
5. Анимации: Плавные переходы и эффекты при нажатии
6. Адаптивность: Корректно отображается на мобильных устройствах

Функциональность:
- Все базовые арифметические операции
- Проценты
- Смена знака
- Память (MC, MR, M+, M-)
- Обработка ошибок (деление на ноль)

Калькулятор готов к использованию - сохраните код в файл .php и запустите на сервере с поддержкой PHP.
Глубокое мышление
Поиск в интернете