Ja sam prirodni lol.
Zagonetke
U jednoj desetici ima 5 parnih i 5 neparnih, u stotini 50, u hiljadi 500.
Razlika izmedju 4 810-1 910=2 900, dakle u njima 1 450 + 1 ( 4 811) = 1 451 parnih.
A šta bi radio da nije 1909 i 4812 nego 909 i 3812?
Kako šta bi radio, isti princip, šta je problem?
Je l' sam barem ubo rešenje? :)
Pa jesi, samo nisam baš siguran da ti je ispravan princip pošto ga nisi lepo opisao, ako možeš da ga primeniš na ova dva druga broja?
Prva desetica će imate više parnih, druga više neparnih, one se stalno smenjuju tako da će neki interval imati pola parnih-pola neparnih. Dakle, oduzmem veći od manjeg broja (važno je da se dobije paran broj prilikom oduzimanja da bih mogao izvesti pola, zato sam ona 3 izostavio), podelim i dobijem brojku. Zatim te brojeve koje sam izostavio pogledam posebno i dodam prethodnom rezultatu. Da objasnim:
3810-910= 2 900 (opet), podelim sa 2= 1 450 (broj parnih), pogledam posebno brojeve 3 812 (paran), 3 811 (neparan), 909 (paran), dakle dodam prethodnom rezultatu 1 450+2=1452
Nije ti dobar princip, u intervalu [909, 3812] postoji 1453 broja sa parnim zbirom cifara.
Zato što je prvi interval koji sam rešio tačno krenuo neparnim i završio se neparnim brojem (2 broja više neparnih, 1451), dakle 1449 parnih +2, a ovaj novi krenuo parnim i završio se parnim (2 broja više parnih, 1451), dakle 1451 parnih +2=1453.
Jednak broj parnih i neparnih bi bio kada bi interval započeo parnim a završio neparnim (ili obrnuto). Eto, novi princip bi trebalo da valja :) .
Pogubih se ja šta si sad rekao, postavio si za brojeve a sad uvodiš azbuku. Onaj metod je tačan. Probaj tvojim pa mojim metodom neki interval pa ćeš videti, jebali te oni puna mi ih glava. Laku noć!
Rekoh ti da je previše mogućnosti i različitih slučajeva da bi gledao samo kojim počinje i kojim se završava.
Lakše je, a i jedini apsolutno tačan način jeste, da gledaš interval [0, 908] i [0, 3812], pa da oduzmeš ta dva broja (namerno prvi interval ide do 908 jer 909 treba da se uključi u traženi broj).
#include<iostream>
using namespace std;
int main()
{
int i,br=0,s,d;
for(i=1909;i<=4812;i++)
{
s=0; d=i;
do
{
s+=d%10;
d/=10;
}
while(d);
br+=(s%2==0);
}
printf("%d\n",br);
system("pause");
}
Ekstra je ovo, samo za intervale od nekoliko miliona brojeva neće raditi u realnom vremenu.
http://pastie.org/5381828
Evo ti moj kod, koji za bilo koja 2 broja radi za manje od stotinke.
Ja sam radio za ovaj interval...ovako je brži manje memorije zauzima...
Ovo meščini nisam vido na temi, al nisam je ni listo puno unazad.. Elem:
Išao taksista jednosmernom ulicom u suprotnom smeru i prošo pored pandura. Ovaj ga nije zaustavio da mu napiše kaznu. Što?
Ja sam ti rešio za ona 2 intervala na logičan način, što si postavio. Sad, da li je princip primenljiv na druge i veće intervale, ne znam, a ove kodove ne bih razumeo ni da se potrudim jer mi informatika i matematika ne idu od ruke. A i rekao si da je u pitanju prost način, a ovde uvodiš neko programiranje :) .
@kalaš
Mislim da je bilo.
Marko i Miloš su zajedno ulovili 8 riba. Marko je ulovio 5, a Miloš 3 ribe. Spremili su večeru zajedno sa Milanom, jednako se angažujući. Svi su pojeli jednako i
Milan je posle večere, pošto nije ništa ulovio, dao 400 dinara. Kako
taj novac da podele Marko i Miloš?
Rešenje da za 400 dinara kupe vina (ili makar piva) jeste najbolje, ali se ne prihvata.
Ovom 250, ovom 150 dinara?
Nea veze, nek stoji, možda neko nije vido pa nek razmišlja..
A za ovu trojicu sa ribama.. Marku 250 a Milošu 150?
@bukajlija
Nije dobro.
Jel bitno đe su spremali večeu? Struja, voda i tako to.. Ako su kom Milana, vrate mu pare i kvit su :)
Nije bitno, samo vrednost ribe je u igri.
Prvo, jesu li oni ulovili 8 ili 16 riba?
Marko je ulovio pet, a Miloš tri ribe. To je sav ulov.
Zavisi koliko koja riba ima tezinu.
pojeo je 2,66 riba i dao 400 dinara. to znaci da je vrijednost jedne ribe otprilike 150 dinara. ako je ovaj ulovio 3 onda je on pojeo 2,66 riba pa od 400 dinara uzima 33% od 150 riba tj otprilike jednu trecinu sto je 50 dinara.
ovaj sa 5 riba uzima preostalih 350 dinara.
daj nešto teže ali da se manje racuna.
jesu sve ribe pojedene?
padaju tri tacke na pravu. kolika je vjerovatnoca da treca padne izmedju prve dvije?
350 и 50?
paninaro rešio!
Možda najjednostavnije rešenje je da se i Marko i Miloš učipe po 400 dinara, a onda 1200 dinara podele u razmeri 5:3. Tako Marko dobija 750, a Miloš 450 dinara. Znači, Milanovih 350 dinara dobija Marko, a 50 dobija Miloš.. Ima i zanimljivije rešenje