1.Составить программу с использованием процедуры нахождения наибольшего общего делителя и наименьшего общего кратного двух натуральных чисел.
НОК(А, В)= (А*В)/НОД(А,В)
2.Составить программу с использованием процедуры для нахождения чисел из интервала [M, N], имеющих наибольшее количество делителей.
3.Найти количество цифр в заданном натуральном числе. Написать программу с исполь-зованием функции
4.Написать программу с использованием процедуры, которая находит и выводит все четырех-значные числа вида abcd, для которых выполняется: ab – cd = a + b + c + d, где a, b, c, d – разные цифры.
5.В заданной матрице А(n*n) найти максимум из всех минимальных элементов матрицы по строкам. Использовать процедуры ввода и вывода элементов матрицы по строкам.
6.Натуральное число, в записи которого n цифр, называется числом Амстронга, если сумма его цифр, возведенная в степень n, равна самому числу. Найти все эти числа от 1 до k. Составить программу с использованием процедуры
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
double a[n][m];
for (int i = 0; i < n; ++i)
for (int j = 0; j < m; ++j)
cin >> a[i][j];
int mxi = 0, mxj = 0;
for (int i = 0; i < n; ++i) {
int mnj = 0;
for (int j = 1; j < m; ++j)
if (a[i][j] < a[i][mnj]) mnj = j;
if (a[i][mnj] > a[mxi][mxj]) {
mxi = i;
mxj = mnj;
}
}
cout << (mxi + 1) << " " << (mxj + 1) << endl;
return 0;
}
4 5
1 2 3 4 5
0 1 2 3 4
0 0 0 0 -1
16 32 28 17 100
Вывод:4 1
Пояснение:Минимальные элементы в каждой строке: 1(1;1), 0(2;1), -1(3;5), 16(4;1)
Максимальным среди них является число 16, которое имеет координаты 4 1 (1-индексация).
Begin
a:=-1;
b:=-1;
//ввод первого числа
Writeln('Введите первое число');
While a<0 do
begin
readln(a);
if a<0 then writeln('Ввод ошибочен, повторите ввод первого числа');
end;
//ввод второго числа
Writeln('Введите второе число');
While b<0 do
begin
readln(b);
if b<0 then writeln('Ввод ошибочен, повторите ввод второго числа');
end;
//определение минимального числа
if a>b then i:=b else i:=a;
//перебор чисел от минимального до 0 (т.к. НОД не может быть больше минимального числа)
While nod=0 do
begin
i:=i-1;
if (a mod i = 0) and (b mod i = 0) then nod:=i;
end;
//вывод НОД
Writeln('НОД ', a,' и ', b, ' = ', nod);
end.