Cho số nguyên dương N gồm 4 chữ số. Em hãy kiểm tra tổng 2 chữ số đầu của N và 2 chữ số cuối của N có bằng nhau không? INPUT - Một số nguyên dương N gồm 4 chữ số duy nhất OUTPUT - Đưa ra thông báo "YES" nếu tổng 2 chữ số đầu của N và 2 chữ số cuối của N có bằng nhau, trong trường hợp ngược lại thì đưa ra thông báo "NO"

2 câu trả lời

var s:string;
    td,tc:int64;
    i:longint;
begin
readln(s);
for i := 1 to 2 do
if (length(s)=4) then td := td + (ord(s[i])-48);
for i := 3 to length(s) do
if (length(s)=4) then tc := tc + (ord(s[i])-48);
if (td = tc) then writeln('YES')
 else writeln('NO');
readln;
end. 

program bai_giai;
uses crt;
var n:integer;
    a,b,c,d:byte;
begin
    clrscr;
    write('Nhap N: ');  readln(n);
    d:=n mod 10; n:=n div 10;
    c:=n mod 10; n:=n div 10;
    b:=n mod 10; n:=n div 10;
    a:=n;
    if (a+b=c+d) then write('YES') else write('NO');
    readln;
end.

d là chữ số cuối cùng, c là chữ số thứ 3, b là chữ số thứ 2, a là chữ số thứ nhất.

lấy chữ số cuối cùng là mod 10;

Và mỗi số luôn lấy số cuối cùng nên phải n div 10 để lấy số trở về trước.

Ví dụ: n=3205

d:=n mod 10=5;   n:=n div 10=320

c:=n mod 10=0;   n:=n div 10=32

b:=n mod 10=2;   n:=n div 10=3

a:=n=3;

Từ đó ta có a+b=3+2=5; c+d=0+5=5

`=>` "YES"

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