Вопрос задан 21.09.2018 в 05:10. Предмет Информатика. Спрашивает Зинков Игнат.

СОСТАВИТЬ ПРОГРАММУ НА ЯЗЫКЕ С!!!!!!СРОЧНО!Пожалуйста.Числа Люка определяются так: первое число

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

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Лешко Назар.
Переделал ваш код с паскаля
#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;

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Program to Find the Sum of the First k Lucas Numbers

Here is a program written in the C programming language that calculates the sum of the first k Lucas numbers, where k is provided by the user. The program also determines the number of Lucas numbers whose sum does not exceed the range of the int (long int) data type. The program then displays this sum along with the three previous sum values, along with their corresponding counts of Lucas numbers.

```c #include

int main() { int k; printf("Enter the value of k: "); scanf("%d", &k);

long int sum = 0; long int prev_sum1 = 0, prev_sum2 = 0, prev_sum3 = 0; int count = 0;

int first = 1; int second = 3;

for (int i = 1; i <= k; i++) { sum = first + second; first = second; second = sum;

if (sum <= INT_MAX) { count++; }

if (i == k) { printf("Sum of the first %d Lucas numbers: %ld\n", k, sum); }

prev_sum3 = prev_sum2; prev_sum2 = prev_sum1; prev_sum1 = sum; }

printf("Number of Lucas numbers with a sum not exceeding INT_MAX: %d\n", count); printf("Previous sum values: %ld, %ld, %ld\n", prev_sum1, prev_sum2, prev_sum3);

return 0; } ```

Please note that this program assumes that the Lucas numbers will not exceed the range of the `int` (or `long int`) data type. If the Lucas numbers can potentially exceed the range of these data types, you may need to use a larger data type, such as `long long int` or `unsigned long long int`, to store the Lucas numbers and their sums.

I hope this helps! Let me know if you have any further questions.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос