М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Panovamasha33
Panovamasha33
18.01.2022 22:30 •  Информатика

Составить программу на языке ! числа люка определяются так: первое число равно 1, второе равно 3, каждое следующее равно сумме двух предыдущих. составить программу, которая находит сумму первых k чисел люка (k – задается пользователем). определить количество первых чисел люка, таких, что значение ихсуммы не превышает диапазона типа int (long int). вывести в виде таблицы данное значение суммы и три предыдущих значения суммы (с соответствующими количествами чисел люка).

👇
Ответ:
sergeybondarchyk
sergeybondarchyk
18.01.2022
Переделал ваш код с паскаля
#include <iostream>

using namespace std;

int main()
{
long int f[100];
long int k, i, s;
cin>>(k);
f[1] = 1;
f[2] = 3;
if (k > 0) s = 1;
if (k > 1) s = 4;

for (int i = 3;i<=k;i++)
{
f[i] = f[i - 1] + f[i - 2];
s = f[i] + s;
}
cout<<s;
return 0;
4,8(46 оценок)
Ответ:
utseetstse
utseetstse
18.01.2022
Хорошо, вот программа на языке C++, которая решает задачу:

```cpp
#include
using namespace std;

int main() {
int k;
cout << "Введите значение k: ";
cin >> k;

long int prev_prev_sum = 0; // значение предпредыдущей суммы (начальное значение - 0)
long int prev_sum = 1; // значение предыдущей суммы (начальное значение - 1)
long int current_sum = 1; // значение текущей суммы (начальное значение - 1)

cout << " Сумма | Предыдущие суммы" << endl;
cout << "---------|-----------------" << endl;

int count = 1; // счетчик количества чисел люка, значение суммы которых не превышает диапазона типа int
cout << current_sum << " | -" << endl;
for (int i = 2; i <= k; i++) {
long int new_sum = current_sum + prev_sum; // вычисление новой суммы
if (new_sum > INT_MAX) { // проверка, превышает ли новая сумма диапазон типа int
break;
}

cout << new_sum << " | " << prev_sum << ", " << prev_prev_sum << ", " << current_sum << endl;

count++;
prev_prev_sum = prev_sum;
prev_sum = current_sum;
current_sum = new_sum;
}

cout << "Количество чисел люка, чья сумма не превышает диапазон типа int: " << count << endl;

return 0;
}
```

Давай разберем эту программу по шагам:

1. Мы объявляем переменную `k`, которая представляет собой количество первых чисел люка, сумма которых нужно найти. Это значение вводится пользователем с помощью `cin`.

2. Мы объявляем и инициализируем переменные `prev_prev_sum`, `prev_sum` и `current_sum`. `prev_prev_sum` и `prev_sum` представляют собой предыдущие суммы чисел люка, а `current_sum` представляет собой текущую сумму чисел люка. Начальные значения `prev_prev_sum` и `current_sum` равны 0, а значение `prev_sum` равно 1.

3. Мы выводим заголовок для таблицы результатов.

4. Мы выводим первую сумму чисел люка и предыдущие суммы в виде первой строки таблицы.

5. Мы запускаем цикл `for`, который выполняется от `i = 2` до `i <= k`. В каждой итерации цикла мы вычисляем новую сумму чисел люка (`new_sum`) путем сложения текущей суммы (`current_sum`) и предыдущей суммы (`prev_sum`).

6. Мы проверяем, превышает ли новая сумма `new_sum` диапазон типа `int`. Если это так, мы выходим из цикла с помощью ключевого слова `break`.

7. Мы выводим новую сумму и предыдущие суммы в виде строки таблицы.

8. Мы увеличиваем значение счетчика `count` и обновляем значения `prev_prev_sum`, `prev_sum` и `current_sum` для следующей итерации цикла.

9. Мы выводим количество чисел люка, чья сумма не превышает диапазон типа `int`.

Эта программа составляет таблицу со значениями сумм чисел люка и возвращает общее количество чисел люка, сумма которых не превышает диапазон типа `int`. Значения сумм выводятся вместе с предыдущими значениями сумм для наглядности.
4,6(91 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ