Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoc oko zadatka u Pascalu

[es] :: Pascal / Delphi / Kylix :: Pomoc oko zadatka u Pascalu

[ Pregleda: 3583 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mishaa
misa mitrovic
beograd

Član broj: 23992
Poruke: 16
*.ptt.yu.

ICQ: 301344482


Profil

icon Pomoc oko zadatka u Pascalu17.01.2006. u 23:54 - pre 222 meseci
Nisam radio Pascal vec 3 godine skoro. Sve sam zaboravio. :)
Zamolio me brat da mu uradim neki zadatak, al posto od mene nema neke vajde ajd da zamolim ja vas :)
Citat:

Ceo broj je simetrican ako se cita isto s leva na desno i s desna na levo. Br je skoro simetrican ako postoji cifra tog broja cijim brisanjem broj postaje simetrican. Napisati program koji za dato N (N manje ili jednako od 20) izracunava broj skoro simetricnih N-to cifrenih brojeva. Vremensko ogranicenje je 10sec.


To je sve sto sam dobio, nemam nikakve primere, nisam najbolje ni shvatio zadatk. Ako neko jeste i ako moze i zeli da odradi neka postuje resenje u ovoj temi. Hvala ;)
 
Odgovor na temu

dejan jaksic

Član broj: 81328
Poruke: 17
213.240.32.*



Profil

icon Re: Pomoc oko zadatka u Pascalu18.01.2006. u 13:20 - pre 222 meseci
da li su oba ova broja simetricna 123321 12321?
 
Odgovor na temu

mishaa
misa mitrovic
beograd

Član broj: 23992
Poruke: 16
*.ptt.yu.

ICQ: 301344482


Profil

icon Re: Pomoc oko zadatka u Pascalu18.01.2006. u 13:31 - pre 222 meseci
Pa nisu. Jer je broj cifara razlicit. Za N=6 123321 i 123321 imaju dva polusimetricna broja.
Jel moze nko ovo da odradi? Stvarno mi je hitno.
 
Odgovor na temu

dejan jaksic

Član broj: 81328
Poruke: 17
213.240.32.*



Profil

icon Re: Pomoc oko zadatka u Pascalu18.01.2006. u 13:50 - pre 222 meseci
mislim da se nismo razumeli. da li je broj 123321 simetrican i da li je broj 12321 simetrican. e kad to rascistimo idemo dalje, a mislim da nije tesko.
 
Odgovor na temu

mishaa
misa mitrovic
beograd

Član broj: 23992
Poruke: 16
*.ptt.yu.

ICQ: 301344482


Profil

icon Re: Pomoc oko zadatka u Pascalu18.01.2006. u 14:02 - pre 222 meseci
Aha sad sam te razumeo, mislim da su oba broja simetricna. Isto se citaju sa obe strane. A to je valjda uslov u zadatku. Inace koliko sam ja gledao zadatak mi uopste ne deluje naivno. Nemam nikakvu ideju :(
 
Odgovor na temu

dejan jaksic

Član broj: 81328
Poruke: 17
*.ptt.yu.



Profil

icon Re: Pomoc oko zadatka u Pascalu18.01.2006. u 16:46 - pre 222 meseci
pa ajde da pokusamo, ali samo pitanje nije dovoljno definisano jer taj skoro simetricni broj moze upravo da bude simetricni broj 123321 jer kad maknes jednu cifru dobijes 12321.
dobro, ja nemam vremena zabog posla da uradim ceo program ali dacu ti smernice, a mozda se jos neko na ovom forumu 'sazali' pa ti pomogne. ja bih u svakom slucaju od tog n niza N cifrenih brojeva prvo pronasao simetricne, onda bi taj broj pronadjenih simetricnih (npr SB) brojeva pomnozio sa 9 puta N tj SB*9*N. nisam siguran sto posto, ali bi trebalo da je tako. sto se tice simetricnih brojeva to je malo teze jer ne znamo da li je 123321 skoro simetrican broj.
Ako je N paran broj onda bi sto je logicno simetrican broj trebao da ima n-1 cifara, a isto vazi i za neparan tj.
ako je N npr 2 imamo simetricne sledece brojeve 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99, e sad ovi dvocifreni su skoro nesimetricni jer kada im skines jednu cifru oni budu simetricni (to je jedna caka zapamti), dalje sledi da su skoro simetricni i sledeci brojevi 12 tj 21, 13 tj 31, 14 tj 41 itd. nadam se da si me shvatio za sada. razmisli pa nastavljamo, mozda se jos neko javi za pomoc.

 
Odgovor na temu

mishaa
misa mitrovic
beograd

Član broj: 23992
Poruke: 16
*.ptt.yu.

ICQ: 301344482


Profil

icon Re: Pomoc oko zadatka u Pascalu18.01.2006. u 18:31 - pre 222 meseci
Ajd ovako...
Za N= 1 => BS=0 ne mozemo da oduzmemo cifru od jednocifarnog broja.
Za N= 2 => BS=90 jer ako od svakog broja 10,11,12,13...45,46,98,99 oduzmemo jednu cifru dobijamo simetrican broj
Za N= 3 => BS ne znam koliko je. Znam da pocinju od 110, 111, 112,113 ukupno 10 koji pocinju na 11x
pa ima 10 koji pocinju na 22x
znaci ukupno 90 gde su prve dve cifre iste pa isto tako gde su druge dve iste i isto i trece.
Znaci ukuno za N= 3 ima 180 polusimetricnih brojeva
Za dalje je mnogo komplikovano da se izracuna.
E sad kako da se odradi program. Stvarno nemam ideju. A i skroz sam zaboravio pascal.
 
Odgovor na temu

ntojzan
Sandor II Tojzan
Becej

Član broj: 36657
Poruke: 168
*.171.244.43.ap.yournet.ne.jp.



Profil

icon Re: Pomoc oko zadatka u Pascalu19.01.2006. u 01:15 - pre 222 meseci
Ok, recimo da je N = 20, dakle 20-ocifreni broj.

Dakle, u ovom slucaju broj potpuno simetricnih brojeva je broj desetocifrenih brojeva, a to je: 9000000000. E sad, za svaki od tih kombinacija imas 20 * 9 - 1 polusimetricnih brojeva. (Taj - 1 je tu zato sto prva cifra ne moze biti 0). Znaci ukupan broj polusimetricnih brojeva ce biti:
(9 * (10 ^ 9)) * (20 * 9 - 1)

Znaci za sve vrednosti gde je N parni broj vazi formula:

P = 9 * (10 ^ (N / 2 - 1)) * (N * 9 - 1)

A za neparne mozes izracunati sam. ;-)
 
Odgovor na temu

mishaa
misa mitrovic
beograd

Član broj: 23992
Poruke: 16
*.ptt.yu.

ICQ: 301344482


Profil

icon Re: Pomoc oko zadatka u Pascalu19.01.2006. u 11:32 - pre 222 meseci
Citat:
ntojzan:
A za neparne mozes izracunati sam. ;-)

Pa...ovaj ne mogu...nisam te bas razumeo. Al hvala puno na pomoci.
 
Odgovor na temu

ntojzan
Sandor II Tojzan
Becej

Član broj: 36657
Poruke: 168
*.bbtec.net.



Profil

icon Re: Pomoc oko zadatka u Pascalu19.01.2006. u 11:55 - pre 222 meseci
Elem, pokusacu malo drugacije da objasnim....

Recimo imas broj sa 10 cifara. E sad ako su prvih pet cifara na primer 12345 onda drugih pet mora biti 54321, znaci za svaki petocifreni broj postoji jedan i samo jedan petocifreni broj koji predstavlja taj isti broj u odledalu.

Dakel to je nacin za otkrivanje koliko ima simetricnih brojeva. Za broj sa N cifara imas tacno toliko simetricnih brojeva koliko imas brojeva sa N - 1 cifara...

Jel' mozes dalje sam?
 
Odgovor na temu

mishaa
misa mitrovic
beograd

Član broj: 23992
Poruke: 16
*.ptt.yu.

ICQ: 301344482


Profil

icon Re: Pomoc oko zadatka u Pascalu19.01.2006. u 12:42 - pre 222 meseci
Ufff nikad nisam voleo kombinatoriku.
Al dobro, shvatio sam poentu.
Uradicu zadatak preko formule:
Za parne kao sto si rekao:
P = 9 * (10 ^ (N / 2 - 1)) * (N * 9 - 1)
A za neparne bi bila:
P = 9 * (10 ^ ((N+1) / 2 - 1)) * (N * 9 - 1) >> Nisam siguran samo da li je N+1 ili N-1
 
Odgovor na temu

mishaa
misa mitrovic
beograd

Član broj: 23992
Poruke: 16
*.ptt.yu.

ICQ: 301344482


Profil

icon Re: Pomoc oko zadatka u Pascalu19.01.2006. u 17:08 - pre 222 meseci
Ako primenimo formulu za parne brojeve:
P = 9 * (10 ^ (N / 2 - 1)) * (N * 9 - 1)
Za N = 2 dobijamo

P = 9*(10^(2/2-1)) * (2*9-1) tj
P = 9 * 1*17 = 153
Sto je netacno, prilicno sam siguran da ima 90 dvocifrenih brojeva. A od toga ako oduzmemo one kod kojih je poslednja cifra 0 dobijamo 80 brojeva koji su ujedno i polusimetricni

Za N=3 dobijamo da imamo 315 brojeva ako primenimo formulu:
P = 9 * (10 ^ ((N-1) / 2 - 1)) * (N * 9 - 1)

Ja sam rucnim sabiranjem dosao do broja 180

I sad sam ja zbunjen :)
 
Odgovor na temu

ntojzan
Sandor II Tojzan
Becej

Član broj: 36657
Poruke: 168
*.171.244.43.ap.yournet.ne.jp.



Profil

icon Re: Pomoc oko zadatka u Pascalu20.01.2006. u 02:58 - pre 222 meseci
E da, za***ao sam se malo... ;-)

Fora je sto trebas menja ti samo brojeve sa desne strane posto smo vec pregledali sve kombinacije sa leve strane...

Sto ti dodje onda:

P = 9 * (10 ^ (N/2 - 1)) * (N/2 * 9)

Za slucaj N = 2

P = 9 * (10 ^ (2/2 - 1)) * (2/2 * 9)
P = 9 * (10 ^ 0) * 9
P = 9 * 1 * 9
P = 81 (sto i jeste tacno resenje, jer sa desne strane moze da bude i 0!!!)

Inace evo kako idu polusimetricni sa 2 cifre:

10
12
13
14
15
16
17
18
19

20
21
23
24
.
.
.
29

Dakle prva cifra moze biti od 1-9 (znaci 9 cifara), i za svaku pocetnu cifru imas 9 resenja (na primer za 1 jedino 1 nije resenje, jer 11 je potpuno simetrican, za 2 jedino 2 nije resenje... itd)

Za neparne slucajeve formula je:

P = 9 * (10 ^ (N/2 - 0.5)) * ((N/2 - 0.5) * 9)

Za slucaj N = 3

P = 9 * (10 ^ 1) * (1 * 9)
P = 90 * 9
P = 810

Ako si rucnim sabiranjem dobio drugi rezultat, onda on nije tacan, posto:

polusimetricni brojevi:

100
102
103
104
105
106
107
108
109

110
112
113
.
.
.
119

Dakle prve dve cifre idu od 10 do 99 (a to je 90 brojeva) i za svaku imas 9 polusimetricnih.

Jel' sad ok?
 
Odgovor na temu

mishaa
misa mitrovic
beograd

Član broj: 23992
Poruke: 16
*.ptt.yu.

ICQ: 301344482


Profil

icon Re: Pomoc oko zadatka u Pascalu20.01.2006. u 12:25 - pre 222 meseci
Citat:
P = 9 * (10 ^ (N/2 - 1)) * (N/2 * 9)

Ok to je delimicno tacna formula. Jasan mi je prvi deo.
Ovaj drugi malo manje. Ja sam umesto (N/2 * 9) Primenjivao (N * 10 - 1) Ali onda dolazi do dupliranja brojeva. Zato sto ima 10 cifara i mogu da budu na N mesta i oduzmemo 1 tj kad je na prvoj poziciji 0.
Ali...onda dolazi do dopliranja brojeva
Primer:
Imamo simetrican broj 1221, ako dodamo br 2 na drugoj poziciji dobijamo 12221 isti broj dobijamo ako dodamo 2 na trecoj poziciji 12221.
Jos nesto mi nije jasno. npr broj 11, on jeste simetrican ali je istovremeno i polusimetrican. E sad... to u postavci zadatka nije jasno definisano.
Al ovo tvoje resenje mi deluje skroz logicno. svaka cast.
A sad jedno offtopic pitanje... Kako si uspeo ovo da resis? Koliko ti je trebalo? Jesi se bas posvetio ili onako u prevozu da prekratis vreme? :)
 
Odgovor na temu

runner
Svetozar Bajcev
za kompjuterom

Član broj: 45154
Poruke: 6
194.106.175.*

ICQ: 218483638
Sajt: www.ravangrad.net/~runner


Profil

icon Re: Pomoc oko zadatka u Pascalu20.01.2006. u 13:56 - pre 222 meseci

ja sam posao od sledeceg:

Ako je N-tocifreni broj skorosimetrican, to znci da ce ako mu se skine jedna cifra on biti (N-1)-tocifreni simetrican broj. OK, onda samo treba pronaci koliko ima (N-1)-tocifrenih brojeva, a to nije problem (to jeste ta fora sa "ogledalom") ja sam konkretno za paskal dobio formulu:

BrSim - broj simetricnih (N-1)-tocifrenih brojeva
N >= 2 (Za N=1 nema (N-1)-tocifrenih brojeva)

BrSim = ( 10^((N div 2)-1) ) * 9

ovo prolazi bez prolema i za parne i za neparne vrednosti N jer div daje ceo deo pri deljenju.
I taman sam se obradovao kako je problem resen, jer kad imam broj simetricnih (N-1)-tocifrenih brojeva, lako se moze doci do N-tocifrenih skoro simetricnih. Na prvo mesto 9, na sva ostala (N-1) 10 mogucih cifara, znaci samo:

BrSkSim - broj skoro simetricnih N-tocifrenih brojeva
N >= 2

BrSkSim = BrSim * (((N-1)*10) +9)

ali onda sam skontao sledece:
ok imam 1221 (cetvorocifreni simetrican), treba od njega napraviti sve moguce petocifrene skorosimetricne.
prvo sve moguce cifre na prvu poziciju s leva, pa na drugu s leva.. i tu dodjem do dvojke.. kad stavite 2 na drugu poziciju s leva dobijate 12221 i idem dalje... izredjam sve moguce cifre na drugu poziciju s leva, pa onda krenem na trecu s leva.. i opet dodjem do dvojke... kad stavite 2 na trecu poziciju s leva dobijete 12221! isto kao malopre, a isto i kad 2 stavite na cetvrtu poziciju s leva!
tj. na svake dve vezane cifre gube se dve kombinacije, na svake tri tri kombinacije i tako dalje. Sad jedino ako bi mogao da se izracuna ukupan broj tih "dvostruko vezanih", "trostruko vezanih" ... cifara, pa da se oduzme broj kombinacija koji se zbog njih gubi, ali vec mi se i dovde previse zakomplikovalo, tako da nemam pojma.
jesam li negde pogresio?
:)
 
Odgovor na temu

ntojzan
Sandor II Tojzan
Becej

Član broj: 36657
Poruke: 168
*.bbtec.net.



Profil

icon Re: Pomoc oko zadatka u Pascalu20.01.2006. u 14:08 - pre 222 meseci
Pa u sustini resavao sam ga na brzaka, dok sam pisao odgovor, zato sam i pogresio. ;)

Inace ja sam pogresno protumacio zadatak. Ja sam skontao da se taj broj ne oduzima, nego se umesto njega stavlja drugi broj, i onda broj postaje simetrican. :-) (za to je formula tacna) Mada sada kada citam zadatak postaje mnogo tezi, jer na primer broj 100 postaje veoma zanimljiv. Posto ako se oduzme 1, ostane ti 00, i meni nije jasno da li tvorac zadatka to priznaje kao polusimetrican broj ili ne... A takodje mi nije jasno da li se priznaju simetricni brojevi kao polusimetricni (posto svi to i jesu - oduzmi srednu cifru, i broj je ponovo simetrican)...
 
Odgovor na temu

runner
Svetozar Bajcev
za kompjuterom

Član broj: 45154
Poruke: 6
194.106.175.*

ICQ: 218483638
Sajt: www.ravangrad.net/~runner


Profil

icon Re: Pomoc oko zadatka u Pascalu20.01.2006. u 14:16 - pre 222 meseci
p.s. jos nesto vezano za simetricnost:
Citat:
...na primer za 1 jedino 1 nije resenje, jer 11 je potpuno simetrican, za 2 jedino 2 nije resenje... itd...


zasto 11 ne moze biti i skoro simetrican i simetrican?
uslov kaze da je broj skoro simetrican ako postoji cifra tog broja cijim brisanjem on postaje simetrican. u 11 postoji cifra cijim brisanjem se dobija simetrican broj. Isto vazi i za 111 i ostale brojeve? zar ne?

dodato:
vidi stvarno, to sto kazes za 100, to mi nije ni palo na pamet :) Stvarno je zadatak bas nespretno definisan.

mada, cekaj, on kaze ako se skidanjem cifre dobije simetricni... ti kad skines cifru 1 iz 100 ne dobijas broj, onda bi moglo jednostavno da bude da 100 nije skoro simetrican? jbm li ga, sad je vec previse :)

[Ovu poruku je menjao runner dana 20.01.2006. u 15:16 GMT+1]

[Ovu poruku je menjao runner dana 20.01.2006. u 15:20 GMT+1]
:)
 
Odgovor na temu

ntojzan
Sandor II Tojzan
Becej

Član broj: 36657
Poruke: 168
*.bbtec.net.



Profil

icon Re: Pomoc oko zadatka u Pascalu21.01.2006. u 02:57 - pre 222 meseci
A ima jos jedna caka:

10000000565

E sad, ako oduzmemo 1, dobijamo:

0000000565 - sto nije simetricno, jel?

Ali! 565 jeste simetricno... Sta se dogadja u ovom slucaju???

Mislim da zadatak DEFINITIVNO nije dovoljno precizno definisan. Ko li samo izmislja te zadatke!?
 
Odgovor na temu

mishaa
misa mitrovic
beograd

Član broj: 23992
Poruke: 16
*.ptt.yu.

ICQ: 301344482


Profil

icon Re: Pomoc oko zadatka u Pascalu21.01.2006. u 13:07 - pre 222 meseci
Zadatak je napisao profesor informatike u Nisu. Matematicki fakultet u Nisu.
Kad sam to saznao sve mi je bilo jasno :)
Ovaj zadatak nema veze sa programiranjem.
Hvala puno na pomoci ntojzan.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Pomoc oko zadatka u Pascalu

[ Pregleda: 3583 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.