Если число кратно 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
3542816 (из 10 в 2 систему исчисления) схема проста делим число на два до тех пор пока не останется 1(т.е. поделили, затем еще раз, и еще раз, и еще) надеюсь что такое остаток от деления ясно, так вот остатки от деления это и есть двоичная система, но записывать число необходимо справа налево результат 3542816(10) = 1101100000111100100000(2) 110011101 (из 2 в 10) умножаем на 2 в степени числа, степень числа считается справа налево начиная с 0., т.е 1*2:0+0*2^1+1*2^2+ 1*2^3+ 1*2^4 результат 110011101(2) = 413(10) 11010111 (из 2 в 8) там должна быть таблица, уверен вы ее записывали, смысл в том чтобы по три цифры (справа считая) переводим в 8чную систему справа налево-111-010-011 результат 11010111(2) = 327(8) 152FC4 (з 16 в 10, из 10 в 2) так же как и из двоичной в десятичную но теперь числа умножаем не на 2 а на 16, т.е 4*16^0+12*16^1? а как из десятичной в двоичную уже рассказывал, результат 152FC4(16) = 1388484(10) 1388484(10) = 101010010111111000100(2)
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
результат 3542816(10) = 1101100000111100100000(2)
110011101 (из 2 в 10) умножаем на 2 в степени числа, степень числа считается справа налево начиная с 0., т.е 1*2:0+0*2^1+1*2^2+ 1*2^3+ 1*2^4
результат 110011101(2) = 413(10)
11010111 (из 2 в 8) там должна быть таблица, уверен вы ее записывали, смысл в том чтобы по три цифры (справа считая) переводим в 8чную систему справа налево-111-010-011
результат 11010111(2) = 327(8)
152FC4 (з 16 в 10, из 10 в 2) так же как и из двоичной в десятичную но теперь числа умножаем не на 2 а на 16, т.е 4*16^0+12*16^1? а как из десятичной в двоичную уже рассказывал,
результат 152FC4(16) = 1388484(10) 1388484(10) = 101010010111111000100(2)