Написать программу на Си. Даны натуральное число n, целые числа a1, …, an. Найти количество и сумму тех членов данной последовательности, которые делятся на 5 и не делятся на 7.
1. Для нахождения НОД используем алгоритм Евклида.
var a, b, i: integer;
begin Write('Введите два натуральных числа '); Readln(a, b); while b <> 0 do begin a := a mod b; i := b; b := a; a := i end; Writeln('НОД этих чисел равен ', a) end.
Тестовое решение: Введите два натуральных числа 3264 1296 НОД этих чисел равен 48
2. Тут все намного проще, алгоритм очевиден.
var a, i: integer;
begin Write('Введите натуральное число '); Readln(a); i := 2; while (a mod i) <> 0 do i := i + 1; Writeln('Минимальный делитель равен ', i) end.
Тестовое решение: Введите натуральное число 187 Минимальный делитель равен 11
Var n,a,b,i,min:integer; mass:array[1..100000] of integer; begin writeln('Введите кол-во элементов массива'); read(n); writeln('Введите числа'); for i:=1 to n do// задаем массив пока i не станет равно n (i:=i+1 ) read(mass[i]);//считываем массив с индексом i min:=mass[1];// обозначаем первый элемент массива за первый b:=1;// индекс от первого элемента массива for i:=1 to n do//цикл задаем массив пока i не станет равно n (i:=i+1 ) if mass[i]<min then begin//при условии что массив будет меньше первого числа то b:=i;// обозначаем индекс min:=mass[i];// обозначаем новый минимальный массив end; for i:=1 to b-1 do// задаем массив пока i не станет равно b-1 (i:=i+1 ); и еще b-1 значит чтобы само число b не входило в цикл mass[i]:=mass[i]*mass[b];// домножаем на меньший массив writeln('Полученный массив');// вывод массива for i:=1 to n do write(mass[i]:6); end.
ща погоди напишу тебе ок