redmanexe

Lab1Challenge2CPP

Sep 13th, 2024
4
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. int main() {
  4. std::cout <<
  5. "2. Найти n-ый член ряда Фибоначчи, элементы которого вычисляются по формулам: a1=a2=1; ai=ai-1 + ai-2, (i>2)."
  6. << std::endl << std::endl;
  7.  
  8. int index;
  9. bool isWrong;
  10. int numbers[2];
  11.  
  12. index = 0;
  13. isWrong = true;
  14. numbers[0] = 1, numbers[1] = 1;
  15.  
  16. while (isWrong) {
  17. std::cout << "Номер члена из ряда Фибаначчи (не может быть меньше 3): ";
  18. std::cin >> index;
  19. if (std::cin.fail()) {
  20. std::cout << "Введите число, а не строку или что-то иное!" << std::endl;
  21. std::cin.clear();
  22. std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
  23. } else if (index < 3)
  24. std::cout << "Число должно быть не меньше 3!" << std::endl;
  25. else
  26. isWrong = false;
  27. }
  28.  
  29. for (int i = 0; i < index - 2; i++) {
  30. if (numbers[0] < numbers[1])
  31. numbers[0] += numbers[1];
  32. else
  33. numbers[1] += numbers[0];
  34. }
  35.  
  36. std::cout << index << "-ый член ряда: ";
  37. if (numbers[0] > numbers[1])
  38. std::cout << numbers[0] << std::endl;
  39. else
  40. std::cout << numbers[1] << std::endl;
  41.  
  42. return 0;
  43. }
Add Comment
Please, Sign In to add comment