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"