Если число кратно 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
sargisyan77
25.12.2022
#include <iostream> #include <array> #include <numeric> using namespace std;
const size_t N = 10;
int main() { size_t sum = 0; array<int, N> a = { 1, 5, 9, 6, 3, 0, 1, 4, -2, 4 }; cout << "Count: "; cout << accumulate(a.cbegin(), a.cend(), 0, [&sum](size_t count, const int num) { if (num > 1 && num < 5) { ++count; sum += num; } return count; }); cout << " Sum: " << sum << endl; }
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