Хранение информации: · Носители информации. · Виды памяти. · Хранилища информации. · Основные свойства хранилищ информации. Обработка информации: · Общая схема процесса обработки информации. · Постановка задачи обработки. · Исполнитель обработки. · Алгоритм обработки. · Типовые задачи обработки информации. Передача информации: · Источник и приемник информации. · Информационные каналы. · Роль органов чувств в процессе восприятия информации человеком. · Структура технических систем связи. · Что такое кодирование и декодирование. · Понятие шума; приемы защиты от шума. · Скорость передачи информации и пропускная канала.
Если A, B имеют общий делитель d, то и A + B делится на d. Отсюда идея: найдем наибольший делитель N, меньший N, и представим всё в виде d + (N - d). d будем искать так: найдём наименьший делитель q, не равный 1 (если число составное, он не больше корня из N), тогда d = N/q.
var q, d, n: longint; isfound: boolean;
begin readln(n); isfound := false; for q := 2 to trunc(sqrt(n)) + 1 do if n mod q = 0 then begin d := n div q; write(d, ' ', n - d); isfound := true; break; end; if not isfound then write(1, ' ', n - 1); end.
const
amax = 100; //Обычная константа
var
a: array[1..amax] of integer; //Объявление массива
i, n, count: integer; //Объявление переменных
begin //Начало блока
Writeln('Введите размер'); //Сообщение на вывод
Readln(n); //Принимаем введеное с клавиатуры значение
Writeln('Исходный массив'); //Сообщение на вывод
count := 0; //Присваиваем переменой "счетчику" значение 0
for i := 1 to n do //Начало цикла FOR от 1 до N
begin
a[i] := Random(-50, 50); //Присваем каждому элементу массива рандомное значение от -50 до 50
Write(a[i], ' '); //Выводим данный элемент
if a[i] < 0 then count += 1; //если значение элемента массива меньше 0 то к переменной "счетчик" прибавляем 1
end;
Writeln;
if count = 0 then Writeln('Нет') else Writeln('Да'); //Если количество найденных отрицательных равно 0 тогда пишем "Нет" иначе "Да"
end.
Тестовое решение
Введите размер
10
Исходный массив
5 31 -23 -4 32 42 -15 -20 -33 25
Да
Variant 2
begin
var a := ArrRandom(ReadInteger, -50, 50).Where(z -> z < 0).Count;
Println(if a = 0 then 'Нет' else 'Да');
end.