← Back to topics
Topic

Gaus! >:(

u
uros94
Ne prolaze mi 2 test primera.
http://www.z-trening.com/new/www/html/submit.php?subm_stat=1&submit=7100005766
Pogledao sam te test primere na DMS, i moj program izbacuje rezultat koji se razlikuje samo za 1. Da li je greska u mom programu (a mislim da jeste) ili u checkeru?
Cuo sam da test primer 10 baguje kod checkera, pa sam to nastelovao da radi. Ali nisam cuo da baguju sestica i osmica. U cemu je problem?
u
uros94
Nema veze, resen zadatak, greska je bila do mene.
m
matteo123
meni piše da mi je iscurilo vrijeme
n
nemanja1990
pise ti zato sto su pogresno napisani uslovi

treba da pise 0<=A<=B<=2^30

2^30 znaci 2 na trideseti stepen, a to ne mozes da izracunas tako kao sto si ti krenuo tj tako sto proveravas za svaki broj od a do b da li mu je zbir cifara paran
m
matteo123
a kako onda da rješim zadatak ako se to traži u zadatku
p
picsel
Pronadji zakonitost
m
matteo123
eh super na papis ću si ispisat 2^31 brojeva na papir zaokružit one sa parnim zbrojem znamenaka .
napravit ću kod u kojem ću ić for petljom i gledat koji se broj sa liste pojavljuje.



neznem zakonitost pa sam se malo našalio
o
oduleodule
nece proci. Kod moze biti max 40 KB
m
matteo123
eh baš si me usrećio
g
gigac
stvarno ako netko moze dati nekoja pomos..ovoj task pocna da me zivcira :@
m
matteo123
JA SAM PROBAO RJEŠIT TAKO DA U INTERVALU A,B IMA A-B+1 I ONDA PODIJELIM SA 2 AKO NEMA OSTATKA INAČE PRIBROJIM JOŠ JEDAN I PODIJELIM SA 2.I RADI SAMO 5/10
h
halil
Problem se može rešiti i rekurzijom, ali je komplikovano i 'ružno' rešenje.

Ja sam prvo problem 'rešio' trivijalno u intervalu [0, n] (naravno da je t.l.e.) tek da vidom zakonitost. Tek, vidio sam da treba posmatrati sumu prvih n-1 cifara i cifru jedinica, i ....

Nadam se da vam je pomoglo.
m
matteo123
jel možeš malo pojasnit ne kužim šta si htio reć
h
halil
Dakle, pričam o intervalu [0,n] (označiću sa F(n)), onda ćeš konačan rezltat dobiti kao razliku, tj G(a,b)=F(b) - F(a-1).

Recimo za n=5679. Cifra jedinice je 9, a zbir ostalih je paran broj (5+6+7=18), pa je F(5679) = 5679 / 2 + 1.

Recimo za n=5667. Cifra jedinice je 7, a zbir ostalih je nepar broj (5+6+6=17). Kad je zbir ostalih neparan, mora se uzeti u obzir i parnost cifre jedinica. Ako je i ona neparna onda je F(5667) = 5667 / 2 + 1.. Ako je cifra jedinica parna onda je F(n) = n / 2.

m
matteo123
aha hvala ti na objašnjenju
m
matteo123
e rješio sam točno tako i 1/10 mi javlja. molim vas ako neko ima vremena neka pogleda kod
h
halil
Kod funkcije 'g()' uzmi u obzir a) a = 0; b) a > b.
Mislim da red n:= n div 10; u funkciji 'f()' treba brisati (10-ostruko si smanjio rezultat f()),
a sledeći red trebalo bi da je str (n div 10,x);
To je ono što sam vidio na brzinu.
P.S.
Nebitno za ovo rešenje, ali probaj malo drugačije da rešiš zbir cifara 'zbr'.
m
matteo123
sada je 4/10.
@hali:
ne kužim šta si htio rećl
h
halil
Pogledaj
http://pastebin.com/d6dc03b7
m
matteo123
hvala it.rješio sam.