Nguồn đề bài: http://www.spoj.com/PTIT/problems/P145SUMA/
1. Đề bài P145SUMA spoj
Một số may mắn là số được tạo ra bởi 2 số 4 và 7. Ví dụ, 47, 44 là số may mắn, còn 13 thì không phải.
Tèo là một người rất thích các chiếc vé xe lửa, mỗi chiếc vé đều có số ghi trên đó và tất cả các số đều có chẵn chữ số. Tèo gọi một chiếc vé là chiếc vé may mắn nếu số ghi trên vé đó là số may mắn và tổng các chữ số nửa đầu bằng tổng các chữ số ở nửa cuối.
Các bạn xem hộ Tèo chiếc vé mà cậu có là chiếc vé may mắn không nhé.
Input
Dòng đầu tiên là số nguyên dương n (2 <=n <= 50), độ dài của số ghi trên vé của Tèo.
Dòng thứ hai là số ghi trên vé của Tèo.
Output
In ra “YES” nếu đó là chiếc vé may mắn, nếu không in ra “NO”.
Example
Test 1:
Input:
2
47
Output:
NO
Test 2:
Input:
4
4738
Output:
NO
Test 3:
Input:
4
4774
Output:
YES
2. Hướng dẫn P145SUMA spoj PTIT
– Bước 1: thực hiện kiểm tra xem có số nào không phải là 4 hoặc 7 không?
– Bước 2: kiểm tra tổng của 2 phần đầu và cuối được chia đều có bằng nhau không?
3. Code tham khảo P145SUMA spoj PTIT
const fi=''; nmax=50; type data=longint; var S:string; n:data; f:text; procedure xuli; var i:data; s1,s2:DATA; begin for i:=1 to n do if not (s[i] in ['4','7']) then begin writeln('NO'); exit; end; s1:=0; s2:=0; for i:=1 to n div 2 do s1:=s1+ord(s[i])-48; for i:=n div 2 +1 to n do s2:=s2+ord(s[i])-48; if s1=s2 then writeln('YES') else writeln('NO'); end; begin assign(f,fi); reset(f); readln(f,n); readln(f,s); close(f); xuli; end.