1. напишите программу, которая определяет сумму цифр 3-х числа. например : 5+4div+8=17 2. напишите программу , которая произведение чисел 3-х ( 548 ➡️ 160)
//PascalABC.Net 3.0, сборка 1053 var n,s,p:integer; begin Write('Введите натуральное трехзначное число: '); Read(n); s:=(n div 100)+((n div 10) mod 10)+(n mod 10); p:=(n div 100)*((n div 10) mod 10)*(n mod 10); Writeln('Сумма цифр числа равна ',s); Writeln('Произведение цифр числа равно ',p) end.
Тестовое решение: Введите натуральное трехзначное число: 548 Сумма цифр числа равна 17 Произведение цифр числа равно 160
function IsPositive(a:integer):boolean; begin result:=(a>-1); end;
procedure work; var min, max, count:integer; begin count:=0; min:=m[0]; max:=0; for i:=0 to 14 do begin if IsPositive(m[i]) then begin inc(count); if m[i]>max then max:=m[i]; if m[i]<min then min:=m[i]; end; end; writeln('MAX: ', max); writeln('MIN: ', min); writeln('Count: ', count); end;
begin for i:=0 to 14 do begin write('n: '); readln(m[i]); end;
Таких систем исчисления всего две. Основание а = 9 и основание а =367, но в системе с основанием 367 проблематично записывать числа (символов не хватит). Если число 3306(10) в системе исчисления с основанием а заканчивается цифрой 3, то тогда число 3303 делится на основание системы а. Отсюда алгоритм поиска. Находим все делители числа 3303. 3303 = 3*1101 = 3*3*367. Число 367 - простое. Поэтому основаниями системы исчисления могут быть только 3, 9, 367. Основание =3 не подходит, так как по условию число должно заканчиваться на 3 -> основание больше 3. Остаются 9, 367.
var
n,s,p:integer;
begin
Write('Введите натуральное трехзначное число: '); Read(n);
s:=(n div 100)+((n div 10) mod 10)+(n mod 10);
p:=(n div 100)*((n div 10) mod 10)*(n mod 10);
Writeln('Сумма цифр числа равна ',s);
Writeln('Произведение цифр числа равно ',p)
end.
Тестовое решение:
Введите натуральное трехзначное число: 548
Сумма цифр числа равна 17
Произведение цифр числа равно 160