Ovaj mi je zadatak bio na prvom krugu priprema za takmičenje i nisam ga znao uraditi. Ako moze pomoc, dobro bi došla bilo koja.
Zadatak glasi ovako:
Bliži se vrijeme sjetve krompira i porodica Earth se uveliko priprema za sezonu sjetve. John se već
bavi proračunima o tome koliko mu je potrebno da napravi redova za sjetvu krompira dužine X ako
ima Y komada sjemenskog krompira a razmak između dva susjedna krompira iznosi Z.
Pri tome ako je razmak od posljednjeg krompira u redu do kraja reda manji od Z, John ne postavlja
sjemenski krompir. Potrebna mu je vaša pomoć.
Nadam se da sam dobro razumeo zadatak.
Svaki krompir mora da zauzme Z prostora u jednom redu tako da je broj krompira koji mogu da stanu u jedan red (nazovimo taj broj K) količnik dužine reda (X) i prostora koji jedan krompir može da zauzme (Z). Ali, pošto je taj broj racionalan a ne ceo, a samo ceo broj krompira može da stane u jedan red (ne može pola krompira da stane u red, na primer), to se taj količnik mora zaokružiti na prvi manji ceo broj. Na primer, ako je Z jednak 2 a X jednak 5, K će biti 2, jer nema mesta za treći krompir u redu.
To bi značilo da je broj potrebnih redova zapravo količnik broja ukupnih sadnica krompira (Y) i broja krompira koji mogu da stanu u jedan red (K). Ali, pošto je i taj broj racionalan a ne ceo (a izlaz programa, pretpostavljam, mora biti ceo broj redova) to se i on mora zaokružiti, ali ovaj put na prvi veći ceo broj. Na primer, ako je Y jednak 5 a K jednak 2, broj redova će biti 3, jer jedan preostali krompir prelazi u sledeći red.
Za funkcije koje zaokružuju na prvi veći i manji ceo broj možeš koristiti:
-
math.ceil
imath.floor
u Python-u izmath
biblioteke (import math
). -
ceil
ifloor
u C/C+±u, izmath.h
/cmath
biblioteke (#import <cmath>
). -
Math.Ceiling
iMath.Floor
metode u C#-u.
Da li ti treba pomoć oko implementacije rešenja/nalaženja greške u tvom trenutnom kodu?