Proc29. Описать функцию DigitCount($$K$$) целого типа, находящую количество цифр целого положительного числа $$K$$. Используя эту функцию, найти количество цифр для каждого из пяти данных целых положительных чисел.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
program Proc29; Function DigitCount(K:Integer):Integer; var S :String; begin Str(K,S) ; DigitCount:=Length(S); end; var i,N:Integer; begin for i:=1 to 5 do begin Write('N :'); Readln(N); Writeln(DigitCount(N)); end; end. |
Решение от olegst1975:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
program Proc29; function DigitCount(k:integer):integer; begin result:=0; repeat k:=k div 10; inc(result); until k=0 end; var i,N:Integer; begin for i:=1 to 5 do begin Write('N :'); Readln(N); Writeln(DigitCount(N)); end; end. |
Решения от olegst1975:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
program Proc29; function DigitCount(k:integer):integer; begin result:=trunc(ln(k)/ln(10))+1; end; var i,N:Integer; begin for i:=1 to 5 do begin Write('N :'); Readln(N); Writeln(DigitCount(N)); end; end. |
Другие задачи из раздела Proc можно посмотреть здесь.
ну и конечно
[/crayon]
и с …
[/crayon]
Добавил решения, а про логарифм даже и не подумал.