切换到宽版
  • 8032阅读
  • 3回复

高精度加法问题 [复制链接]

上一主题 下一主题
离线john_yike
 
只看楼主 倒序阅读 0 发表于: 2008-03-14
1、    输入一个正整数n(5 n 200),让计算机从0开始循环不断加99999的运算,直到和的位数达到n为止。如:
输入:5
输出:99999

离线czz5242199
只看该作者 1 发表于: 2008-04-06
var a:array[1..100] of byte;
    i,k,m,n:integer;
begin
  writeln('input n');
  readln(n);
  fillchar(a,sizeof(a),0);
  i:=5;
  repeat
    for k:=1 to 5 do
      a[k]:=a[k]+9;
    for k:=1 to i do
      begin
        a[k+1]:=a[k+1]+a[k] div 10;
        a[k]:=a[k] mod 10;
      end;
    if a[i+1]<>0 then inc(i);
  until i>=n;
  for k:=i downto 1 do write(a[k]);
  readln;
end.

希望我们可以交个朋友,我也在学习pascal

QQ:690188103 记得加时说明哦!!!
离线冷月佩儿
只看该作者 2 发表于: 2008-05-20
公益
.....踩........踩......
....踩..踩.....踩.踩.....
.....踩..踩....灌..踩....
......踩.踩.踩.踩.踩.... .
.....踩......... 踩....
...踩.............踩...
..踩...............踩..
.踩.................踩.
踩...................踩
踩...................踩
踩.....∩.......∩.....踩
踩. ..................踩
踩. ...◎....U....◎....踩
.踩.................踩.
..踩踩.............踩踩..
....踩.踩.踩.踩.踩.踩.踩....






------------------分-------------割--------------线------------------------
  SEO 真封神私服 传奇外挂
离线圣剑骑士
只看该作者 3 发表于: 2008-11-05
program ti;
type arr=array[0..2000]of integer;
var i,j,k,l,n,m:integer;
    a,b:arr;
    inf,outf:text;
//////////////////////
procedure jia(a,b:arr; var c:arr);
begin
    if a[0]>b[0] then c[0]:=a[0]+1
                  else c[0]:=b[0]+1;
    for i:=1 to c[0] do
    begin
          c:=a+b;
          c[i+1]:=c[i+1]+c div 10;
          c:=c mod 10;
    end;
    while c[c[0]]=1 do dec(c[0]);
end;
//////////////////////
begin
    assign(inf,'ti.in');
    assign(outf,'ti.out');
    reset(inf);
    rewrite(outf);
    close(outf);
    readln(inf,n);
    for i:=1 to 5 do b:=9;
    repeat
          jia(a,b,a);
    until a[0]>=n;
    append(inf);
    for i:=1 to a[0] do write(inf,a,' ');
    close(outf);
end.                       
快速回复
限100 字节
 
上一个 下一个