e租宝案例分析:在Pascal 语言中,怎样计算一个高精度数的位数?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/04 13:49:49
因为这个位数可能非常大,不能直接数,需要进行计算。

亏上面几楼的兄弟还知道什么叫 PASCAL 啊~~

“您们”编过高精度没有啊??

提问的弟兄啊,我告诉你啊:

把高精度数当作字符串读入,然后用一个 length 就可以了啊
var
s:string;{s 就是读入的高精度数啊}
n:integer;
begin
read(s);
n:=length(s);{n 就是高精度数的长度啊}
end.

length 是一个函数,表示的是字符串的长度啊

你明白了吗??

program k;
var
i:integer;
a:array[1..100000] of char;
begin
while not(eoln(input)) do
begin
i:=i+1;
read(a[i]);
end;
writeln(i);
end.

同意二楼:
如以a:array[1..100]of 0..9999;格式储存:

则9988976为((),(),...,(998),(8976))
234567为((),(),...(23),(4567));
4567+8976可直接得出13543,mod 10000为3543,存于答案数组中,
div10000 为 1 ,进位

把数拆开放入数组里,把位数对起,进行计算,然后用for语句输出

用Qword或者int64也行

能否说的清楚一点啊