Chủ Nhật, 14 tháng 5, 2017

THOIGIAN Giải mã thời gian

Code

const fi='thoigian.inp';   fo='thoigian.out';
var
        x,y:longint;
    d:array[0..9]of byte=(4,2,2,2,3,2,3,2,4,3);
    n:array[0..9]of byte=(2,0,3,3,1,3,3,1,3,3);



procedure nhap;
        begin
        readln(x,y);
        end;

function TimDung(h,p:longint):longint;
        var s,a:longint;
        begin
        s:=0;
        if h = 0 then s:=4
        else
        while h>0 do
                begin
                a:=h mod 10;
                h:=h div 10;
                s:=s+d[a];
                end;
        if p<10 then inc(s,4);
        if p=0 then inc(s,4)
        else
        while p>0 do
                begin
                a:=p mod 10;
                p:=p div 10;
                s:=s+d[a];
                end;


        exit(s);
        end;

function TimNgang(h,p:longint):longint;
        var s,a:longint;
        begin
        s:=0;
        if h=0 then s:=2
        else
        while h>0 do
                begin
                a:=h mod 10;
                h:=h div 10;
                s:=s+n[a];
                end;
        if p<10 then inc(s,2);
        if p=0 then inc(s,2)
        else
        while p>0 do
                begin
                a:=p mod 10;
                p:=p div 10;
                s:=s+n[a];
                end;

        exit(s);
        end;

procedure xuli;
        var h,p:longint;
        begin
        for h:=0 to 23 do
                for p:=0 to 59 do
                        if (TimDung(h,p)=x) and (TimNgang(h,p)=y) then
                                begin
                                write(h,':');
                                if p<10 then write('0');
                                write(p);
                                exit;
                                end;
        end;
begin
assign(input,fi);reset(input);
assign(output,fo);rewrite(output);
nhap;
xuli;
close(input);close(output);
end.

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.