输入一个10000以内的数,输出位数(用Pascal来编程)

2024-12-25 23:04:20
推荐回答(5个)
回答1:

var s:string;
l:integer;
begin
readln(s);
l:=length(s);
writeln(l);
end.

回答2:

完全可以,但没必要这么麻烦,而且复杂度也大,浪费时间。
可以巧妙运用ln函数,
读入数就可以了;
n:integer;
readeln(n);
数的位数(n);
n:=trunc(ln(n)/ln(10))+1;
trunc取整函数。

回答3:

var
a:string;
n:integer;
repeat
writeln('input a number <=10000.');
readln(n);
until n<=10000;
str(n,a);
writeln(lenth(a));

var
n,i:integer;
begin
repeat
writeln('input a number>=0 and <=10000.');
readln(n);
until (n>=0)and(n<=10000);
for i:=0 to n do if n div i=0 then halt;
writeln(i);

回答4:

可以

回答5:

如果数更大的话就用这个
var
i:qword;
c:char;
begin
i:=0;
repeat
read(c);
until (c>'0')and(c<='9');
repeat
read(c);
inc(i);
until (c<'0')or(c>'9');
write(i);
end.
最多到(2^64-1)位数