Kviz


Submit solution

Points: 90 (partial)
Time limit: 2.0s
Memory limit: 32M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Perl, Python

Županijska razina 2017. / Osnovna škola (6. razred) - 3. zadatak

U kvizu zvanom "Čovjek kalkulator", da bi osvojio novčanu nagradu, igrač mora pamtiti brojeve i jako brzo ih zbrajati. Osim toga mora znati brzo provjeriti je li broj prost. (Za one koji ne znaju, prirodan broj je prost ako je veći od \(1\) te djeljiv samo s \(1\) i sa samim sobom. Prosti brojevi su: \(2, 3, 5, 7, 11, 13, 17, 19, 23, 29, \ldots\))

Igraču se na malom ekranu svakih pet sekundi pojavljuje jedan prirodan broj. U trenutku kada igrač primijeti da je zbroj posljednjih \(K\) prikazanih brojeva prost broj, mora reći STOP i potom izgovoriti tražene brojeve koji zbrojeni daju prost broj. Ako je u pravu, osvaja nagradu.

Postoje dvije inačice igre: 

  • U prvoj inačici, broj \(K\) zadan je na početku igre. Na primjer, ako je zadano \(K = 2\), igrač mora reći STOP kada primijeti da posljednja dva prikazana broja zbrojeni daju prost broj. Ako je \(K = 1\), gleda se samo trenutačni broj.
  • U drugoj inačici, broj \(K\) nije unaprijed određen, nego ga igrač odabire tijekom igre u trenutku kada uoči da zbrajanjem posljednjih \(K\) prikazanih brojeva može dobiti prost broj. Ako u istom trenutku to može učiniti na više načina, treba odabrati što manji \(K\).

Napiši program koji učitava \(N\) brojeva koji se pojavljuju na ekranu te ispisuje prvi mogući odabir traženih brojeva koji donose nagradu.

Ulazni podaci

U prvom retku nalaze se prirodni brojevi \(N\) i \(K\) \((3 \leq N \leq 20, 0 \leq K \leq N)\) iz teksta zadatka. Ako je \(K > 0\), riječ je o prvoj inačici igre. Vrijednost \(K = 0\) znači da \(K\) nije unaprijed zadan, tj. riječ je o drugoj inačici igre.

U svakom od sljedećih \(N\) redaka nalazi se jedan prirodan broj manji od \(100\). To su brojevi koji se jedan za drugim pojavljuju na ekranu. (Nije važno hoće li tvoj program učitati sve brojeve ili će ih prestati učitavati kad pronađe rješenje.)

Izlazni podaci

Ispiši tražene brojeve iz teksta zadatka, svaki u svoj redak, redom kojim su se pojavili. Odgovarajući brojevi postojat će u svim test podacima.

Bodovanje

Svaki od jednostavnijih slučajeva: \(K = 1\), \(K = 2\) i \(K = 3\) nosit će po \(20\%\) bodova.

Primjeri test podataka

Ulaz
3 2
20
9
2
Izlaz
20
9
Objašnjenje

Opis prvog test podatka: \(20 + 9 = 29\) (prost broj).


Ulaz
4 3
55
77
11
13
Izlaz
77
11
13
Objašnjenje

Opis drugog test podatka: \(77 + 11 + 13 = 101\) (prost broj).


Ulaz
4 0
21
99
31
7
Izlaz
31
Objašnjenje

Opis trećeg test podatka: Igrač uočava broj \(31\) (prost broj) i bira \(K = 1\), tj. uzima samo taj broj.


Comments

There are no comments at the moment.