Решение домашних заданий

Составте алгоритм для определения количества цифр в записи числа произвольного натурального числа. составить блок схему

1 января 0001 / Информатика / Комментарии: 0

Составте алгоритм для определения количества цифр в записи числа произвольного натурального числа.

составить блок схему

  • Рекурсивное решение:

    function GrowTo(number,n:integer):Integer;
    begin
    Result:=Round(exp(n*ln(number)));
    end;

    function CountOfNumber(numb,exp:integer):integer;
    begin
    if (((numb div GrowTo(10,exp)) mod 10)=0) and   (((numb div GrowTo(10,exp+1)) mod 10)=0) thenbegin Result:=0;
    end
    else Result:=1+CountOfNumber(numb,exp+1);
    end;

    Вызывать функцию вот так: 
    CountOfNumber(Chislo,0);

  • Короткое решение:) Можно было бы, конечно, и без числа, но лучше будет, если интерпретатор сам распорядится ошибочным вводом =)

    var a: integer;
        b: string;
    begin
         readln(a);
         b := inttostr(a);
         writeln(length(b));
    end.

Добавить комментарий