Nhập vào 1 số tự nhiên n* và nhập vào m, sau đó
tính tổng m các số tận cùng của n.
vd: n = 365 m =2 tổng = 5+6=11.
vd: n = 365 m =2 tổng = 5+6=11.
Cách 1:
uses crt; var n: longint; m,tong,i: integer; BEGIN clrscr; write('Nhap n: '); readln(n); write('Nhap m: '); readln(m); for i:=1 to m do begin tong:=tong+(n mod 10); n:=n div 10; end; write('Tong ',m,' chu so cuoi cua so vua nhap = ',tong); readln; END.
Cách 2: Sử dụng xâu: Xâu giúp lưu trữ thoải mái hơn kiểu số nguyên, nên ta có thể khái báo N có ở string thay vì Integer. Như vậy, ở những trường hợp lớn (vd N bao gồm 100 chữ số chẳng hạn) thuật toán vẫn có thể hoạt động bình thường.
uses crt; var n: string; m,i,a,tong: integer; BEGIN clrscr; write('Nhap so n: '); readln(n); write('Nhap m: '); readln(m); for i:= length(n) downto length(n)-m+1 do begin val(n[i],a); tong:=tong+a; end; write(tong); readln; END.
Không có nhận xét nào:
Đăng nhận xét