Имеется на паскале. нужно проверить ее на правильность и еще дописать, чтобы программа считала: кратно ли число двум,трем,четырем и шести по признакам делимости. program chislo; uses crt; var a,b,c,d,e,f,g: integer; begin clrscr; f: =1; d: =0; writeln('введите число '); readln(a); e: =a; while e> 9 do begin b: = e mod 10; f: =f+1; d: =d+b; e: = e div 10; end; g: =e+d; writeln('число ',f,' - значное'); if a mod 2< > 0 then writeln('число нечетное') else writeln('число четное'); c: =b mod 10; if (c=0) or (c=5) then writeln ('число кратно 5') else writeln ('число не кратно 5'); if (c=0) then writeln('число кратно 10') else writeln('число не кратно 10'); if g mod 3=0 then writeln('число кратно 3') else writeln('число не кратно 3'); if g mod 9=0 then writeln ('число кратно 9') else writeln('число не кратно 9'); end.

nubjoper nubjoper    2   09.06.2019 10:20    1

Ответы
KINGMe KINGMe  01.10.2020 23:02
function two(i: integer): boolean;
begin
  two := (i mod 10 mod 2 = 0);
end;

function three(i: integer): boolean;
var
  buf, k: integer;
begin
  buf := i;
  repeat
    k := k + (buf mod 10);
    buf := buf div 10;
  until (buf = 0);
  three := (k mod 3 = 0);
end;

function four(i: integer): boolean;
begin
  four := (i mod 100 mod 4 = 0);
end;

function six(i: integer): boolean;
begin
  six := (two(i) and (three(i)));
end;

function BooleanToString(i: boolean): string;
begin
  if (i) then
    BooleanToString := 'Да'
  else
    BooleanToString := 'Нет';
end;

var
  i: integer;
begin
  readln(i);
  writeln('2: ', BooleanToString(two(i)));
  writeln('3: ', BooleanToString(three(i)));
  writeln('4: ', BooleanToString(four(i)));
  writeln('6: ', BooleanToString(six(i)));
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика