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

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

2

Ответы и объяснения

2013-10-19T14:22:46+04:00
Рекурсивное решение:

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);
2013-10-19T14:25:21+04:00
Короткое решение:) Можно было бы, конечно, и без числа, но лучше будет, если интерпретатор сам распорядится ошибочным вводом =)

var a: integer;
    b: string;
begin
     readln(a);
     b := inttostr(a);
     writeln(length(b));
end.
Это если строкой разрешено пользоваться.
А где запрет?:)
Хитрости спасают, особенно в программировании =)
Можно было бы целочисленным делением обойтись, но так короче)