Число и цифри

Напишете функции, които:

  • по дадено цяло положително число N и цифра К определя дали цифрата К се съдържа в числото N
  • по дадено цяло число N намира броя на цифрите му
  • по дадено цяло число N намира сумата на цифрите му
  • по дадено цяло число N го отпечатва в обратен ред
  • по дадено цяло число N определя коя е най-голяма цифра, съдържаща се в записа на числото
Публикувано в с етикети , . Постоянна връзка.

One Response to Число и цифри

  1. Боряна каза:
    program Project1;
    
    //дали цифрата К се съдържа в числото N
    function cifraK (N, K: integer):boolean;
    var
      c: integer;
    begin
    Result:=false;
    repeat
     c:=N mod 10;
     if c=K then begin
       Result:=true;
       Break;
     end;
     N:=N div 10;
    until N=0;
    end;
    
    //по дадено цяло число N намира броя на цифрите му
    function Br(N:integer):integer;
    var
      broi: integer;
    begin
      broi:=0;
      repeat
       N:=N div 10;
       broi:=broi+1;
      until N=0;
      Result:=broi;
    end;
    
    //по дадено цяло число N намира сумата на цифрите му
    function Sum(N:integer):integer;
    var
      c, suma: integer;
    begin
      suma:=0;
      repeat
       c:=N mod 10;
       suma:=suma+c;
       N:=N div 10;
      until N=0;
      Result:=suma;
    end;
    
    //по дадено цяло число N го отпечатва в обратен ред
    function Naopaki(N:integer):integer;
    var
      chislo: integer;
    begin
      chislo:=0;
      while N<>0 do begin
       chislo:=(chislo*10)+(N mod 10);
       N:=N div 10;
      end;
      Result:=chislo;
    end;
    
    //по дадено цяло число N определя коя е най-голяма цифра
    function Max(N:integer):integer;
    var
      c: integer;
    begin
      max:=0;
      while N<>0 do begin
       c:=N mod 10;
       if c>max then max:=c;
       N:=N div 10;
      end;
    end;
    
    var
      N, K: integer;
    begin
      Write('Vavedete cialo chislo N i cifra K: ');
      ReadLn(N,K);
    
      if cifraK(N,K) then WriteLn('Cifrata ', K, ' se sadarga v chisloto ', N);
      WriteLn('Broiat na cifrite na ', N, ' e ', Br(N));
      WriteLn('Sumata na cifrite na ', N, ' e ', Sum(N));
      WriteLn(N, ' v obraten red e ', Naopaki(N));
      WriteLn('Nai-goliamata cifra na ', N, ' e ', Max(N));
    
      ReadLn;
    end.
    

Вашият коментар