Задание »

Diena

ID: diena
Grūtība: 1/5
Laika limits: 1


Uzdevums

Visas 2001.gada dienas sanumurētas pēc kārtas no 1 (1.janvāris) līdz 365 (31.decembris). Uzrakstiet programmu, kas dotam 2001.gada dienas numuram nosaka, kāds šajā dienā ir datums.

Ievaddati

Teksta faila diena.in vienīgajā rindā dots naturāls skaitlis, kas nepārsniedz 365.

Izvaddati

Teksta faila diena.out vienīgajā rindā jāizvada divi skaitļi, kas atdalīti ar tukšumsimbolu – diena un mēneša kārtas numurs (janvārim atbilst 1 , februārim – 2, …, decembrim – 12).

Piemērs

diena.in diena.out
364
30 12

© 2001-2002 olimps! http://www.lio.lv/olimps/

Решение »

program diena;
var nom:array[1..12] of integer;
a,i,cis,r:integer;
name_in,name_out:string;
f_in,f_out:text;
begin
name_in:='diena.in';
Assign(f_in,name_in);
Reset(f_in);
read(f_in,cis);
Close(f_in);
nom[1]:=31;
nom[2]:=28;
nom[3]:=31;
nom[4]:=30;
nom[5]:=31;
nom[6]:=30;
nom[7]:=31;
nom[8]:=31;
nom[9]:=30;
nom[10]:=31;
nom[11]:=30;
nom[12]:=31;
r:=0;
a:=0;
for i:=1 to 12 do
begin
a:=a+nom[i];
if a>=cis then
   begin
   r:=a-cis;
   if r=0 then r:=nom[i]
   else r:=nom[i]-r;
   break;
   end;
end;
name_out:='diena.out';
Assign(f_out,name_out);
Rewrite(f_out);
write(f_out,r);
write(f_out,' ');
write(f_out,i);
Close(f_out);
end.

Результат: 10/10

Добавить комментарий