Найти сумму элементов, сумма индексов которых является числом Фибоначчи - Free Pascal
Формулировка задачи:
2)Дана вещественная матрица. Найти сумму элементов, сумма индексов которых является числом Фибоначчи.
Решение задачи: «Найти сумму элементов, сумма индексов которых является числом Фибоначчи»
textual
Листинг программы
- const size = 10;
- function isFib(n : integer) : boolean; // Проверка, является ли n числом Фибоначчи
- function isPerfect(p : integer) : boolean;
- begin isPerfect := Sqr(Trunc(Sqrt(p))) = p end;
- begin
- isFib := isPerfect(5*sqr(n) + 4) or isPerfect(5*sqr(n) - 4);
- end;
- var
- a : array[1 .. size, 1 .. size] of real;
- i, j : integer;
- s : real;
- begin
- for i := 1 to size do
- begin
- for j := 1 to size do
- begin
- a[i, j] := random * 100;
- write(a[i, j]:7:2);
- end;
- writeln;
- end;
- s := 0.0;
- for i := 1 to size do
- for j := 1 to size do if isFib(i + j) then s := s + a[i, j];
- writeln('s = ', s:7:2);
- end.
Объяснение кода листинга программы
- Объявлены константа
size
равная 10 и функцияisFib
для проверки является ли число Фибоначчи. - Объявлена функция
isPerfect
для проверки является ли число совершенным (используется квадратный корень и округление до ближайшего целого числа). - В основной части программы объявлен массив
a
размеромsize x size
для хранения случайных чисел. - В цикле заполняют массив
a
случайными числами. - Выводят на экран массив
a
построчно. - Инициализируют переменную
s
равной 0.0. - В двойном цикле суммируют элементы массива
a
, которые являются числами Фибоначчи. - Выводят на экран значение переменной
s
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д