• Имеется задача на Паскале. Нужно проверить ее на правильность и еще дописать, чтобы программа считала: кратно ли число двум,трем,четырем и шести по признакам делимости.
    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.

Ответы 1

  • 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.
    • Автор:

      diego87
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years