Найти первые k чисел Люка - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Ребят , помогите такая прога :Числа Люка определяются так: первое число равно 1, второе равно 3, каждое следующее равно сумме двух предыдущих. Составить программу, которая находит первые k чисел Люка (k – задается пользователем). Определить номер последнего числа Люка, которое входит в диапазон типа int (long int). Вывести в виде таблицы данное число Люка и три предыдущих с их номерами. Написал код ,но он работает только для первых 4 чисел , дальше не считает , в чем ошибка ?
Листинг программы
  1. #include<stdio.h>
  2. #include<limits.h>
  3. #include <locale.h>
  4. int main()
  5. {
  6. setlocale(LC_ALL,"");
  7. int a,b,c,a1,a2,a3,a4,i,k;
  8. printf("введи колличество членов люка\n");
  9. scanf("%d",&k);
  10. printf("k=%d\n",k);
  11. a1=1;
  12. a2=3;
  13. for(i=3;i<=k;i++)
  14. {if (i=3) {a3=a1+a2;}
  15. if (i=4) {a4=a2+a3;}
  16. if ((i>4)&&((INT_MAX-a3)>=a4))
  17. {
  18. a=a2;
  19. b=a3;
  20. c=a4;
  21. a1=a;
  22. a2=b;
  23. a3=c;
  24. a4=b+c;}
  25. else {break;}
  26. }
  27. printf("a%d=%d\n",i,a4);
  28. printf("a%d=%d\n",i-1,a3);
  29. printf("a%d=%d\n",i-2,a2);
  30. printf("a%d=%d\n",i-3,a1);
  31. return 0;
  32. }

Решение задачи: «Найти первые k чисел Люка»

textual
Листинг программы
  1. a1 = 1;
  2. a2 = 3;
  3. a3 = a1 + a2;
  4. a4 = a2 + a3;
  5. for (i = 3; i <= k; ++i) {
  6.     a1 = a2;
  7.     a2 = a3;
  8.     a3 = a4;
  9.     a4 = a2 + a3;
  10. }

Объяснение кода листинга программы

В данном коде выполняется вычисление первых k чисел Люка. Список вычислений можно описать следующим образом:

  1. Начинаем с чисел a1 = 1 и a2 = 3.
  2. Вычисляем первое число a3 = a1 + a2, то есть 1 + 3 = 4.
  3. Вычисляем второе число a4 = a2 + a3, то есть 3 + 4 = 7.
  4. Затем, в цикле от i = 3 до i <= k, выполняем следующие действия:
    • Присваиваем a1 значение a2.
    • Присваиваем a2 значение a3.
    • Присваиваем a3 значение a4.
    • Вычисляем новое значение a4 = a2 + a3, то есть 2 + 7 = 9.
  5. Повторяем шаги 4 для всех i от 4 до k. Таким образом, после выполнения цикла, в переменной a4 будет содержаться k-е число Люка.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы