Gấu nhà ta rất tức tối trước những phép nhân dài dằng dặc ở trong lớp, cậu ta liền xây dựng một phép nhân của mình như sau: A*B thay vì nhân bình thườ

Gấu nhà ta rất tức tối trước những phép nhân dài dằng dặc ở trong lớp, cậu ta liền xây
dựng một phép nhân của mình như sau: A*B thay vì nhân bình thường sẽ là tổng các thành
phần của A nhân với các thành phần của B. Ví dụ kết quả của phép nhân của Gấu 123*45 là
1*4 + 1*5 + 2*4 + 2*5 + 3*4 + 3*5 = 54.
Yêu cầu: Cho hai số nguyên A và B cách nhau ít nhất một khoảng trắng, xác định giá trị A*B
theo kiểu nhân của Gấu.
Dữ liệu đọc từ tập tin văn bản NHANMOI.INP trong đó chứa số A và B (1 ≤ A, B ≤ 10^9).
Kết quả ghi ra tập tin văn bản NHANMOI.OUT kết quả tìm được.
———————————————-

0 bình luận về “Gấu nhà ta rất tức tối trước những phép nhân dài dằng dặc ở trong lớp, cậu ta liền xây dựng một phép nhân của mình như sau: A*B thay vì nhân bình thườ”

  1. const fi=’nhanmoi.inp’;
          fo=’nhanmoi.out’;
    var a,i,b,s,n,t:longint;
        c: array [1..1000] of longint;
    begin
            assign(input,fi);
            reset(input);
            read(a,b);
            close(input);
            while a <> 0 do
                    begin
                            inc(n);
                            c[n]:=a mod 10;
                            a:=a div 10;
                    end;
            while b <> 0 do
                    begin
                            t:=b mod 10;
                            b:=b div 10;
                            for i:=1 to n do
                                    s:=s + c[i]*t;
                    end;
            assign(output,fo);
            rewrite(output);
            write(s);
            close(output);
    end.

    Bình luận
  2. Code pascal nha. Phần tạo tệp Input, output bạn tự thêm nha

    program gaucon;
    uses crt;
    var n,i,k,j,m,S:longint;
        A:array[1..1000] of longint;
    begin
     clrscr; i:=0;  S:=0;
     readln(n,m);
     while n<>0 do
      begin
       inc(i);
       A[i]:=n mod 10;
       n:=n div 10;
      end;

     While m<>0 do
      begin
       k:=m mod 10;
       m:=m div 10;
       For j:=1 to i do S:=S+A[j]*k;
      end;
      writeln(S);
      readln;
    end.

    Bình luận

Viết một bình luận