Если число кратно 7 и 9 одновременно, то оно кратно и их произведению, т.е. 63.
PascalABC.NET 3.3.5, сборка 1640 от 17.03.2018 Внимание! Если программа не работает, обновите версию!
begin var (a,b):=ReadInteger2('Введите границы интервала'); if a>b then Swap(a,b); var m:=a mod 63; if m>0 then a:=a+63-m else if m<0 then a:=a-m; var s:=Range(a,b,63); Writeln('На интервале для чисел, кратных 7 и 9 одновременно:'); Writeln('Количество ',s.Count,', сумма ',s.Sum,', произведение ', s.Aggregate(BigInteger(1),(p,q)->p*q)) end.
Пример Введите границы интервала 613 2100 На интервале для чисел, кратных 7 и 9 одновременно: Количество 24, сумма 32508, произведение 365675480699261550432828460140720056759879856012024400651039614959616000000
program HelloWorld;
var n:array [1..6] of string;
var i,k,j: smallint;
begin
n[1] := '1+';
n[2] := '2+';
n[3] := '3+';
n[4] := '4+';
n[5] := '5+';
n[6] := '6';
k := 0;
for i:=1 to 6 do
if pos('+',n[i]) > 0 then k := k + 1;
if k>4 then
for i:=1 to 6 do
begin
j := pos('+',n[i]);
if j > 0 then
begin
delete(n[i],j,1);
insert('=',n[i],j);
end;
end;
for i:=1 to 6 do
writeln(n[i]);
end.
PascalABC.NET 3.3.5, сборка 1640 от 17.03.2018
Внимание! Если программа не работает, обновите версию!
begin
var (a,b):=ReadInteger2('Введите границы интервала');
if a>b then Swap(a,b);
var m:=a mod 63;
if m>0 then a:=a+63-m
else if m<0 then a:=a-m;
var s:=Range(a,b,63);
Writeln('На интервале для чисел, кратных 7 и 9 одновременно:');
Writeln('Количество ',s.Count,', сумма ',s.Sum,', произведение ',
s.Aggregate(BigInteger(1),(p,q)->p*q))
end.
Пример
Введите границы интервала 613 2100
На интервале для чисел, кратных 7 и 9 одновременно:
Количество 24, сумма 32508, произведение 365675480699261550432828460140720056759879856012024400651039614959616000000