(см. объяснение)
Объяснение:
Первый :
Воспользовавшись возможностями PascalABC.NET, напишем программу:
begin
var a: array of integer := seqGen(5807,x->x+2595).Where(x->(x mod 2 = 0) and (x mod 13 <> 0)).ToArray();
a.Count.Println; a.Sum.Println;
end.
Второй :
Чистый Pascal тоже позволяет решить эту задачу, только вот код сильно длиннее:
var i,k,sum: integer;
begin
k:= 0;
sum:= 0;
for i:= 2595 to 8401 do
if((i mod 2 = 0) and (i mod 13 <> 0)) then
begin
k:= k+1;
sum:= sum+i;
end;
writeln(k);
writeln(sum);
end.
В обоих случаях получаем два числа: 2679 и 14728918.
Задание выполнено!
Объяснение:
program n_05;
var a, b, c, f: integer;
begin
f:=0;
writeln ('Программа поиска делящихся на 5 чисел');
write ('Введите три произвольных числа >>');
readln (a,b,c);
if (a mod 10 in [0,5]) then
begin
writeln (a);
f := 1;
end;
if (b mod 10 in [0,5]) then
begin
writeln (b);
f := 1;
end;
if (c mod 10 in [0,5]) then
begin
writeln (c);
f := 1;
end;
writeln ('f',f);
if (f=0) then
writeln('нет чисел, делящихся на 5');
end.
Неизящно. Может быть кто-то предложит вариант лучше без флажков или без if.
Cells.Clear
Dim n As Integer, i As Integer, min As Integer
n = InputBox("n(>5) = ")
Cells(1, 1).Value = "n = " + Str(n)
ReDim a(1 To n)
For i = 1 To n
a(i) = InputBox("a(" + Str(i) + ")")
Next i
Cells(2, 1).Value = "Исходный массив"
Range(Cells(3, 1), Cells(3, n)).Value = a
min = a(1)
For i = 2 To n
If a(i) < min Then min = a(i)
Next i
Cells(4, 1).Value = "min = " + Str(min)
Cells(5, 1).Value = "Полученный массив"
For i = n - 4 To n
a(i) = min
Next i
Range(Cells(6, 1), Cells(6, n)).Value = a
End Sub