Найти сумму элементов, сумма индексов которых является числом Фибоначчи - Free Pascal

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

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

2)Дана вещественная матрица. Найти сумму элементов, сумма индексов которых является числом Фибоначчи.

Решение задачи: «Найти сумму элементов, сумма индексов которых является числом Фибоначчи»

textual
Листинг программы
  1. const size = 10;
  2. function isFib(n : integer) : boolean; // Проверка, является ли n числом Фибоначчи
  3.  
  4.   function isPerfect(p : integer) : boolean;
  5.   begin isPerfect := Sqr(Trunc(Sqrt(p))) = p end;
  6.  
  7. begin
  8.   isFib := isPerfect(5*sqr(n) + 4) or isPerfect(5*sqr(n) - 4);
  9. end;
  10.  
  11. var
  12.   a : array[1 .. size, 1 .. size] of real;
  13.   i, j : integer;
  14.   s : real;
  15. begin
  16.   for i := 1 to size do
  17.   begin
  18.     for j := 1 to size do
  19.     begin
  20.       a[i, j] := random * 100;
  21.       write(a[i, j]:7:2);
  22.     end;
  23.     writeln;
  24.   end;
  25.  
  26.   s := 0.0;
  27.   for i := 1 to size do
  28.     for j := 1 to size do if isFib(i + j) then s := s + a[i, j];
  29.   writeln('s = ', s:7:2);
  30. end.

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

  1. Объявлены константа size равная 10 и функция isFib для проверки является ли число Фибоначчи.
  2. Объявлена функция isPerfect для проверки является ли число совершенным (используется квадратный корень и округление до ближайшего целого числа).
  3. В основной части программы объявлен массив a размером size x size для хранения случайных чисел.
  4. В цикле заполняют массив a случайными числами.
  5. Выводят на экран массив a построчно.
  6. Инициализируют переменную s равной 0.0.
  7. В двойном цикле суммируют элементы массива a, которые являются числами Фибоначчи.
  8. Выводят на экран значение переменной s.

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


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

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

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

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

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

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