Назовём натуральное число N (100008 < N < 777778) счастливым, если суммы двух первых и двух последних цифр его восьмеричной записи равны. Найдите количество таких чисел.
Алг нач целтаб А[1:2, 1:3] цел а, б вывод "Исходная матрица:", нс нц для а от 1 до 2 нц для б от 1 до 3 А[а,б] := irand(-9,9) вывод А[а,б], " " кц вывод нс кц вещ Б если А[1,1] >= 0 то Б := 0 нц для а от 1 до 2 нц для б от 1 до 3 Б := Б + А[а,б] кц кц вывод "Сумма = ", Б иначе Б := 1 нц для а от 1 до 2 нц для б от 1 до 3 Б := Б * А[а,б] кц кц вывод "Произведение = ", Б всё кон
#define N ...
#define M ...
#define _MIN(a, b) ((a) < (b) ? (a) : (b))
...
int
A[N][M],
sumOfDiagonal = 0,
sumOfEl = 0,
numOfEl = 0,
diagonalEl,
border,
i, j;
...
border = _MIN(N, M);
for (i = 0; i < border; i++)
sumOfDiagonal += A[i][i];
printf("Sum of the main diagonal elements = %i\n", sumOfDiagonal);
for (i = 0; i < border; i++)
{
diagonalEl = A[i][i];
for (j = 0; j < M; j++)
if (A[i][j] > diagonalEl)
sumOfEl += A[i][j], numOfEl++;
}
printf("The arithmetic mean of the elements = %f\n", (double)sumOfEl / numOfEl);
...
нач
целтаб А[1:2, 1:3]
цел а, б
вывод "Исходная матрица:", нс
нц для а от 1 до 2
нц для б от 1 до 3
А[а,б] := irand(-9,9)
вывод А[а,б], " "
кц
вывод нс
кц
вещ Б
если А[1,1] >= 0
то
Б := 0
нц для а от 1 до 2
нц для б от 1 до 3
Б := Б + А[а,б]
кц
кц
вывод "Сумма = ", Б
иначе
Б := 1
нц для а от 1 до 2
нц для б от 1 до 3
Б := Б * А[а,б]
кц
кц
вывод "Произведение = ", Б
всё
кон
Примеры работы программы:
Исходная матрица:
-2 -2 5
-8 -6 5
Произведение = 4800.0
Исходная матрица:
0 2 0
8 9 4
Сумма = 23.0
Исходная матрица:
0 9 1
3 -9 9
Сумма = 13.0