[ peromalosutra @ 25.06.2005. 20:18 ] @
| "izguglovao" sam da je ovaj zadatak bio na okruznom takmicenju iz informatike, ali mi sama postavka zadatka nije najjasnija:
Citat:
Prirodni brojevi zapisani su jedan iza drugog tako da cine beskonacni niz cifara: 123456789101213...
Za zadati broj n naci n-tu cifru u beskonacnom nizu.
n je iz intervala 1<=n<=2*10^9. Rjesenje je cifra koja se nalazi na n-tom mjestu. (n se ucitava iz datoteke).
Na koji nacin organizovati ucitavanje ovih podataka? I da li je moguce nekako pomjeriti datotecni pokazivac na zadanu lokaciju, pa samo procitati vrijednost te cifre? (nesto kao gotoxy(buffer,n,1), samo sto ovo ne radi). |
[ Passwd @ 25.06.2005. 20:46 ] @
Kolko sam shvatio treba iz datoteke ucitati velik broj brojeva te naci koji je po redu upisani broj??
Ako je to, onda je lagano!!

[ cassey @ 25.06.2005. 21:46 ] @
Pa ni ne ucitavas taj broj.
Znaci ti imas da je neki beskonacni broj jennak 12345678910111213... koji se dobija kada pises redom brojeve 1, 2, 3...Od tebe se trazi da stampas n-tu cifru u tom broju. Znaci npr. za n = 5 to je cifra 5 / za n = 13 to je 2... Ponovo, ti ne ucitavas taj beskonacni broj (ne znam ni kako bi se on pamtio dak je beskonacan) i stampas n-tu cifru u tom broju...
Da zadatak je bio na okruznom 2004 za B kategoriju...
P.S. Postavio sam na upload test primere za ovaj zadatak, pa testiraj...
[ peromalosutra @ 25.06.2005. 22:02 ] @
Da shvatio sam. I ja sam vidio da se broj sastoji od cifara koje stalno rastu od 1 do beskonacno, ali sm mislio da je to samo test primjer...? :(
U svakom slucaju, sad kad znam sta se trazi pokusacu da ga rjesim. :)
[ bancika @ 26.06.2005. 00:42 ] @
samo pazi kod tih takmicarskih zadataka, nikad ne radi onako kako se cini najlakse jer se zadaci testiraju velikim ulaznim podacima. recimo je ovaj zadatak bio pre 5-6 god na takmicenju kad sam ja bio prva godina srednje:
naci broj nula kojim se zavrsava broj n! gde je n < 2^16
i sad ako trazis n! to je broj sa mnoooogo cifara i treba mu godina da se izracuna.
isto kod ovog, nikako nemoj da pravis niz jer je i tu verovatno neko veliko n.
makar u moje vreme se testiralo sa 10 razlicitih ulaznih podataka, samo prva 2, 3 su mogla da prodju na losim algoritmima, ostali ne mogu da izvrse za 1 sekundu.
btw, ovaj zadatak sto sam reko se radi tako sto brojis koliko prostih cinioca 2 i 5 ima jer kad se oni pomnoze daju 10 tj nulu na kraju i onda uzmes manji od njih.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.