P145SUMA spoj PTIT – Chiếc vé may mắn

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.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *