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. ----------------------------------------------

2 câu trả lời

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.

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.

Câu hỏi trong lớp Xem thêm