#include <cstdlib>
#include <iostream>
using namespace std;
int NOD( int a, int b)
{
int c=1;
int d;
if(a>b)
d=b;
else
d=a;
for(int j=1;j<=d;j++)
{
if(a%j==0 && b%j==0)
c=j;
}
return c;
}
int main()
{
int A,B,C;
cout<<"Введите А"<<endl;
cin>>A;
cout<<"Введите В"<<endl;
cin>>B;
cout<<"Введите С"<<endl;
cin>>C;
cout<<"НОД("<<A<<","<<B<<","<<C<<")="<<NOD(NOD(A,B),C)<<endl;
system("PAUSE");
return 0;
}
(Код написан на С++.)
Объявляем функцию gcd, принимающую два целочисленных параметра и возвращающую их наибольший общий делитель. Здесь это вычисляется при алгоритма Евклида.
Затем для удобства определяем ещё одну функцию gcd3, которая принимает уже три аргумента и, используя указанную в условии формулу и описанную выше функцию gcd, вычисляет НОД от трёх чисел.
В основной части программы просто три числа считываются с клавиатуры и выводится ответ.
Код (PascalABC.NET v3.6.2316):
function gcd(a, b: integer): integer;
begin
while a * b <> 0 do
(a, b) := (b, a mod b);
Result := a + b
end;
function gcd3(a, b, c: integer) := gcd(gcd(a, b), c);
begin
var (a, b, c) := ReadInteger3;
print(gcd3(a, b, c))
end.
Пример ввода:
10 40 20
Пример вывода:
10
25. Сортировка столбца КОЛИЧЕСТВО по возрастанию. Значит программа отсортирует последний столбец "Количество" по возрастанию (от меньшего к большему).
1. 8 принтер
2. 10 мышь
3. 10 сканер планшетный
И т.д
Мы нашли на какой строчке будет Сканер планшетный. Почему на 3, а не на 2? (в ответах вроде в)3. ) Сложный вопрос. Думаю, что программа начинает искать число с самого начала таблицы, тогда сначала попадется Мышь, а потом Сканер планшетный. ответ в
26. Союз ИЛИ означает, что нас устроит истина одного любого условия или их обоих. Т.е. достаточно,чтобы выполнилось условие цена>20, чтобы запись подошла, или же только продано<50, или их одновременное выполнение. Тогда подойдет карандаш(продано), ручка (цена), тетрадь(продано). Итого 3. ответ в. (Папка не подойдёт т.к. условие цена>20, а 20 не больше 20, если бы было больше или равно, то подошло)