apraksts uzdevumi suutiit jauns statuss rezultati helps apraksts

sald Rindā pēc saldējuma 1 sek.


 Uzdevums

Rindā pie saldējuma kioska stāv N skolēni. Saldējums maksā vienu eiru (1 €). Nevienam no skolēniem sākumā naudas nav, savukārt skolotājai nauda ir un tā visa ir vienas un divu eiru monētās. Skolotājas uzdevums ir izdalīt daļu no šīm monētām tā, lai

  • katram skolēnam tiktu iedota ne vairāk kā viena monēta;
  • kopā izdalītās naudas daudzums būtu tieši N eiras;
  • visi skolēni varētu nopirkt sev saldējumu.

Saldējuma pārdevējam sākotnēji nav nevienas monētas, un atlikumu no 2 € monētas viņš var izdot tikai tad, ja kasē ir 1 € monēta. Ja pārdevējam ir izbeigušās naudas monētas, ko izdot skolēnam, kurš vēlas nopirkt saldējumu, dodot 2 € monētu, viņš kļūst nikns un kiosku aiztaisa ciet, kā rezultātā atlikušie skolēni netiek pie saldējuma. Kiosks tiek aiztaisīts arī tad, ja skolēns vēlas nopirkt saldējumu, bet viņam nav monētas. Skolēnam, kuram ir izdots atlikums, šī 1 € monēta jāatdod pirmajam rindā stāvošajam, kuram tobrīd vēl nav monētas.

Uzrakstiet programmu, kas dotai N vērtībai aprēķina un izvada, cik dažādos veidos skolotāja var izdalīt naudu tā, lai visi skolēni aprakstītajā situācijā varētu iegādāties saldējumu!

 
 Ievaddati

Teksta faila sald.dat vienīgajā rindā ir dots naturāls skaitlis N(N≤46).

 
 Izvaddati

Teksta faila sald.rez pirmajā rindā jāizvada viens vesels skaitlis - dažādo naudas izdalīšanas veidu skaits.

 
 Piemērs

sald.datsald.rezPiezīme
2
1
Abi skolēni saldējumu varēs nopirkt tikai tad, ja katram no viņiem būs iedota 1 € monēta.
sald.datsald.rezPiezīme
5
8
Skolotāja rindā stāvošajiem skolēniem naudu var izdalīt šādos astoņos veidos ("-" nozīmē, ka šim skolēnam sākumā nauda nav iedota):
1) 11111
2) 1112-
3) 1121-
4) 112-1
5) 12-11
6) 121-1
7) 1211-
8) 12-2-

 
 Atsauces
Uzdevums izmantots Latvijas 18.informātikas olimpiādes Valsts posma sacensībās 2005.gada 15.martā

Drukāšanai

 

Copyright © 2001 Girts Folkmanis, LIIS