Chủ Nhật, 28 tháng 7, 2019

Bài 34 - Giải thuật nhập môn

Viết chương trình nhân 2 số nguyên có độ dài lớn nhất đến 300 chữ số.
Ví dụ: 123*789=97047
           123456 * 123456 = 15241383936
           123456789 * 123456789 = 15241578750190521


1 nhận xét:

  1. Uses crt;
    Var s1,s2:String;
    f:array[0..10000] of byte;
    Procedure nhan;
    Var a,b,i,j,l1,l2:word;
    Begin
    readln(s1);
    readln(s2);
    l1:=length(s1);
    l2:=length(s2);
    fillchar(f,sizeof(f),0);
    For i:=1 to l1 do
    For j:=1 to l2 do
    Begin
    val(s1[i],a);
    val(s2[j],b);
    f[i+j]:=f[i+j]+a*b;
    end;
    For i:=l1+l2 downto 3 do
    Begin
    f[i-1]:=f[i-1] + f[i] div 10;
    f[i]:=f[i] mod 10;
    end;
    For i:=2 to l1+l2 do Write(f[i]);
    end;
    Begin
    nhan;
    Readln;
    end.

    Trả lờiXóa

Dùng nick gmail để bình luận. Nếu lần đầu tiên bạn làm điều này thì hệ thống sẽ chuyển bạn sang trang blogger và hỏi bạn chọn tên hiển thị là gì. Bạn hãy nhập tên hiển thị rồi ok là được. Những lần bình luận sau hệ thống sẽ không hỏi nữa. Cảm ơn!

Bài được xem nhiều nhất