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
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!
Teksta faila sald.dat vienīgajā rindā ir dots naturāls skaitlis N(N≤46).
Teksta faila sald.rez pirmajā rindā jāizvada viens vesels skaitlis - dažādo naudas izdalīšanas veidu skaits.
sald.dat | sald.rez | Piezī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.dat | sald.rez | Piezī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- |