关于pascal的高精度加法、乘法

来源:百度知道 编辑:UC知道 时间:2024/09/21 13:45:51
1、输入一个正整数n(5〈=n〈=200),让计算机从0开始循环不断加99999的运算,直到和的为数达到n为止。
如:
输入:5
输出:99999

2、输入三个正整数a,b,n。求a的n次方+b的n次方结果的精确值。(a,b〈=200,n<=50);
如:
输入:2 3 2
输出:13

一定得是高精度(用字符串的方法)
不能是普通方法
因为这个数可能超过范围!

求求求! 快快快!

最好赶在明天中午前回答!
要程序!

好的话我加倍分!

谢谢!

var st:string;
x,y:array[0..201]of integer;
i,j,l1,l2:integer;
begin
write('x='); readln(st);
l1:=length(st);
for i:=0 to 101 do x[i]:=0;
for i:=l1 downto 1 do
x[l1-i]:=ord(st[i])-ord('0');
write('y='); readln(st);
l2:=length(st);
for i:=0 to 101 do y[i]:=0;
for i:=l2 downto 1 do
y[l2-i]:=ord(st[i])-ord('0');
if l1<l2 then l1:=l2;
for i:=0 to l1 do
begin
x[i]:=x[i]+y[i];
x[i+1]:=x[i+1]+x[i] div 10;
x[i]:=x[i] mod 10;
end;
write('x+y=');
j:=201;
while x[j]=0 do j:=j-1;
for i:=j downto 0 do write(x[i]);
readln;
end.

//单精度乘高精度的。
program high_hwr;

const
maxn=255;

type
high=array[0..maxn]of integer;

var
a:high;