Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
matomic Forumaš(ica)

Pridružen/a: 29. 03. 2004. (13:47:57) Postovi: (10)16
|
|
[Vrh] |
|
kikach Forumaš(ica)


Pridružen/a: 13. 02. 2004. (19:05:17) Postovi: (4B)16
Spol: 
|
Postano: 17:43 uto, 15. 6. 2004 Naslov: |
|
|
Evo...rijesih ti 1. zadatak...
Ovako...10^9 ...to je 10 znamenaka....kako se mora javiti 123 na uzastopnim mjestima, zakljucujemo da 1-znamenkastih i 2-znamenkastih takvih brojeva nema.
3-znamenkastih ima, i to je samo 123.
E, sad... 4-znamenkastih ima 10 + 9 (jer gledas 2 slucaja: kada je 123 na pocetku-prva 3 mjesta u 4-znam. broju..onda zadnji broj biras na 10 nacina, a ako 123 nije na pocetku, prvi se broj bira na 9 nacina - bez, jelte, nule)
Analogno, 5-znamenkastih ima 10^2 + 2*9*10 = 280
i tako se nastavi za 6-znamenkaste, 7-znamenkaste,...,9-znamenkaste brojeve pa na kraju dobijes po pravilu zbroja:
Suma(k ide od 1 do 6) od (10^k)+ k*9*10^(k-1)
1 + 19 + 280 + 3700 + 46000 + 550000 + 6400000 = 7000000 (ako nisam pogrijesila u racunu)
Evo...rijesih ti 1. zadatak...
Ovako...10^9 ...to je 10 znamenaka....kako se mora javiti 123 na uzastopnim mjestima, zakljucujemo da 1-znamenkastih i 2-znamenkastih takvih brojeva nema.
3-znamenkastih ima, i to je samo 123.
E, sad... 4-znamenkastih ima 10 + 9 (jer gledas 2 slucaja: kada je 123 na pocetku-prva 3 mjesta u 4-znam. broju..onda zadnji broj biras na 10 nacina, a ako 123 nije na pocetku, prvi se broj bira na 9 nacina - bez, jelte, nule)
Analogno, 5-znamenkastih ima 10^2 + 2*9*10 = 280
i tako se nastavi za 6-znamenkaste, 7-znamenkaste,...,9-znamenkaste brojeve pa na kraju dobijes po pravilu zbroja:
Suma(k ide od 1 do 6) od (10^k)+ k*9*10^(k-1)
1 + 19 + 280 + 3700 + 46000 + 550000 + 6400000 = 7000000 (ako nisam pogrijesila u racunu)
|
|
[Vrh] |
|
grossi Forumaš(ica)


Pridružen/a: 22. 04. 2004. (16:33:41) Postovi: (5D)16
Spol: 
Lokacija: Delta Neretva
|
|
[Vrh] |
|
grossi Forumaš(ica)


Pridružen/a: 22. 04. 2004. (16:33:41) Postovi: (5D)16
Spol: 
Lokacija: Delta Neretva
|
|
[Vrh] |
|
ahri Forumaš(ica)


Pridružen/a: 19. 11. 2003. (23:16:07) Postovi: (193)16
|
|
[Vrh] |
|
ZELENIZUBNAPLANETIDO SADE Forumaš(ica)


Pridružen/a: 04. 03. 2004. (19:56:15) Postovi: (54F)16
Lokacija: hm?
|
Postano: 21:07 uto, 15. 6. 2004 Naslov: |
|
|
[quote="grossi"]moj je prvi kriv, ja sam prebrojio samo deveteroznamenkaste, treba jos prebrojiti sve osmoznamenkaste, zedmoznam...., oprosti[/quote]
sve u redu, i drugi put :) samo pisi :)
Kika.. Ne pobrojava li tvoje rjesenje brojeve poput 123123 dvaput?
grossi (napisa): | moj je prvi kriv, ja sam prebrojio samo deveteroznamenkaste, treba jos prebrojiti sve osmoznamenkaste, zedmoznam...., oprosti |
sve u redu, i drugi put samo pisi
Kika.. Ne pobrojava li tvoje rjesenje brojeve poput 123123 dvaput?
_________________
Pupoljak nije negiran. Rekao sam to i ponovit cu to jos jedanput. Pupoljak NIJE negirAn.
MADD
(Mothers Against Dirty Dialectics)
Based on a true story. NOT.
Ko ih sljivi, mi sviramo punk 
|
|
[Vrh] |
|
ahri Forumaš(ica)


Pridružen/a: 19. 11. 2003. (23:16:07) Postovi: (193)16
|
|
[Vrh] |
|
kikach Forumaš(ica)


Pridružen/a: 13. 02. 2004. (19:05:17) Postovi: (4B)16
Spol: 
|
|
[Vrh] |
|
ZELENIZUBNAPLANETIDO SADE Forumaš(ica)


Pridružen/a: 04. 03. 2004. (19:56:15) Postovi: (54F)16
Lokacija: hm?
|
|
[Vrh] |
|
ahri Forumaš(ica)


Pridružen/a: 19. 11. 2003. (23:16:07) Postovi: (193)16
|
|
[Vrh] |
|
Sika Forumaš(ica)

Pridružen/a: 15. 06. 2004. (21:38:10) Postovi: (1)16
|
Postano: 22:07 uto, 15. 6. 2004 Naslov: |
|
|
a)
ako se neko slovo pojavljuje 4 puta onda se 2 jednaka slova nalaze izmedju 2 jednaka slova. dakle duljina najduze rijeci je manja ili jednaka 3*n.
npr. jedna rijec duljine upravo 3*n je
111222333...nnn
b)
uvedimo zahtjev da se i-to slovo mora pojavljivati prije (i+1)-og slova u rijeci,
dokazimo indukcijom po broju slova da takvih rijeci ima 2^(n-1),
te da su 2 zadnja slova nn
za n=1 jedina rijec je 111
pp za neki keN tvrdnja vrijedi
dokazimo da vrijedi za n=k+1
rijec iz pretpostavke je oblika
1...k...kk
gledamo gdje mozemo dodati 3 slova n
n NE SMIJE doci prije k 1...n...k...kk
1...k...n...n...kk nije rijec
1...k...n...kkn nije rijec
vidimo da zadnja 4 slova moraju biti iz skupa {k, n}
isprobavanjem sve 4 mogucnosti vidimo da imamo samo 2 nacina da iz rijeci iz pretpostavke dobijemo novu rijec
knnn +
nknn +
nnkn -
nnnk -
tj.
1...k...kknnn
1...k...knknn
dakle broj rijeci sa n slova je 2^(k-1)*2=2^k=2^(n-1)
zbog zahtjeva za poretkom slova, 2^(n-1) moramo pomnoziti sa n!
rjesenje n! * 2^(n-1)
ukratko ako fiksiramo poredak slova, iz rijeci 111222...nnn mozemo dobiti sve ostale uzastopnim zamjenama mjesta slova na pozicijama 3m i 3m+1
11212233344455657577
a)
ako se neko slovo pojavljuje 4 puta onda se 2 jednaka slova nalaze izmedju 2 jednaka slova. dakle duljina najduze rijeci je manja ili jednaka 3*n.
npr. jedna rijec duljine upravo 3*n je
111222333...nnn
b)
uvedimo zahtjev da se i-to slovo mora pojavljivati prije (i+1)-og slova u rijeci,
dokazimo indukcijom po broju slova da takvih rijeci ima 2^(n-1),
te da su 2 zadnja slova nn
za n=1 jedina rijec je 111
pp za neki keN tvrdnja vrijedi
dokazimo da vrijedi za n=k+1
rijec iz pretpostavke je oblika
1...k...kk
gledamo gdje mozemo dodati 3 slova n
n NE SMIJE doci prije k: 1...n...k...kk
1...k...n...n...kk nije rijec
1...k...n...kkn nije rijec
vidimo da zadnja 4 slova moraju biti iz skupa {k, n}
isprobavanjem sve 4 mogucnosti vidimo da imamo samo 2 nacina da iz rijeci iz pretpostavke dobijemo novu rijec
knnn +
nknn +
nnkn -
nnnk -
tj.
1...k...kknnn
1...k...knknn
dakle broj rijeci sa n slova je 2^(k-1)*2=2^k=2^(n-1)
zbog zahtjeva za poretkom slova, 2^(n-1) moramo pomnoziti sa n!
rjesenje: n! * 2^(n-1)
ukratko: ako fiksiramo poredak slova, iz rijeci 111222...nnn mozemo dobiti sve ostale uzastopnim zamjenama mjesta slova na pozicijama 3m i 3m+1
11212233344455657577
|
|
[Vrh] |
|
ahri Forumaš(ica)


Pridružen/a: 19. 11. 2003. (23:16:07) Postovi: (193)16
|
|
[Vrh] |
|
ahri Forumaš(ica)


Pridružen/a: 19. 11. 2003. (23:16:07) Postovi: (193)16
|
Postano: 23:09 uto, 15. 6. 2004 Naslov: |
|
|
daklem...
uzet cemo kikijino rjesenje, samo cemo jos oduzeti gdje smo pobrojali 123 dva puta...
npr.
123 _ _ RENDOM-1 RENDOM-2 RENDOM-3 _
i
RENDOM-1 RENDOM-2 RENDOM-3 _ _ 123 _
su isti brojevi (RENDOM-X znaci da je taj X bio jedna od 10 mogucnosti, a 123 su fixirani).
sa dvije 123ojke:
za 9znamenkaste se moze pojaviti ili na prvom mjestu, pa onda ostane 6 mjesta.
u tih 6 mjesta se opet pojavi 123, pa zapravo imamo 4 mjesta, od kojih je jedno garantirano (tj. skupina 123) :). dakle 10^3 * (4 povrh 1). (4 povrh 1) jer na toliko nacina mozemo odabrati gdje se nalazi 123.
a ako se ne nalazi na prvom mjestu, onda imamo 9 * nesto
a to nesto je:
imamo 8 ostalih mjesta, gdje su 2 puta 123... dakle, zapravo 4 mjesta, od kojih su 2 garantirana.
means 10^(4-2) * (4 povrh 2)
dakle, to je
10^3 * (4 // 1) + 9*10^2 * (4 // 2) = 9400
za osmeroznamenkaste to je:
10^2* (3 // 1) + 9*10^1 * (3//2) = 570
za sedmeroznamenkaste:
10^1* (2 // 1) + 9*10^0 * (2//2) = 29
za sesteroznamenkaste je to jedna mogucnost - 123123 = 1
u brojevima s manje znamenki se to ne moze dogoditi.
kad ovo sve sumiramo dobijemo 10000.
no, kod deveteroznamenkastih smo oduzeli duplo kombinaciju kada se 123 pojavlja 3 puta. hvala bogu, to je samo jedna situacija.
dakle, rjesnje je:
7000000 - 10000 + 1 = 6990001
daklem...
uzet cemo kikijino rjesenje, samo cemo jos oduzeti gdje smo pobrojali 123 dva puta...
npr.
123 _ _ RENDOM-1 RENDOM-2 RENDOM-3 _
i
RENDOM-1 RENDOM-2 RENDOM-3 _ _ 123 _
su isti brojevi (RENDOM-X znaci da je taj X bio jedna od 10 mogucnosti, a 123 su fixirani).
sa dvije 123ojke:
za 9znamenkaste se moze pojaviti ili na prvom mjestu, pa onda ostane 6 mjesta.
u tih 6 mjesta se opet pojavi 123, pa zapravo imamo 4 mjesta, od kojih je jedno garantirano (tj. skupina 123) :). dakle 10^3 * (4 povrh 1). (4 povrh 1) jer na toliko nacina mozemo odabrati gdje se nalazi 123.
a ako se ne nalazi na prvom mjestu, onda imamo 9 * nesto
a to nesto je:
imamo 8 ostalih mjesta, gdje su 2 puta 123... dakle, zapravo 4 mjesta, od kojih su 2 garantirana.
means 10^(4-2) * (4 povrh 2)
dakle, to je
10^3 * (4 // 1) + 9*10^2 * (4 // 2) = 9400
za osmeroznamenkaste to je:
10^2* (3 // 1) + 9*10^1 * (3//2) = 570
za sedmeroznamenkaste:
10^1* (2 // 1) + 9*10^0 * (2//2) = 29
za sesteroznamenkaste je to jedna mogucnost - 123123 = 1
u brojevima s manje znamenki se to ne moze dogoditi.
kad ovo sve sumiramo dobijemo 10000.
no, kod deveteroznamenkastih smo oduzeli duplo kombinaciju kada se 123 pojavlja 3 puta. hvala bogu, to je samo jedna situacija.
dakle, rjesnje je:
7000000 - 10000 + 1 = 6990001
_________________ 
|
|
[Vrh] |
|
ZELENIZUBNAPLANETIDO SADE Forumaš(ica)


Pridružen/a: 04. 03. 2004. (19:56:15) Postovi: (54F)16
Lokacija: hm?
|
Postano: 23:31 uto, 15. 6. 2004 Naslov: |
|
|
:klapklap:
mislim da je b) jedan [b]poprilicno[/b] rjesen zadatak :D
btw: zasto sam ja bio potpuno siguran da je pismeni iz kombinatorike sutra ujutro :wacky:
mislim da je b) jedan poprilicno rjesen zadatak
btw: zasto sam ja bio potpuno siguran da je pismeni iz kombinatorike sutra ujutro
_________________
Pupoljak nije negiran. Rekao sam to i ponovit cu to jos jedanput. Pupoljak NIJE negirAn.
MADD
(Mothers Against Dirty Dialectics)
Based on a true story. NOT.
Ko ih sljivi, mi sviramo punk 
|
|
[Vrh] |
|
ahri Forumaš(ica)


Pridružen/a: 19. 11. 2003. (23:16:07) Postovi: (193)16
|
|
[Vrh] |
|
ahri Forumaš(ica)


Pridružen/a: 19. 11. 2003. (23:16:07) Postovi: (193)16
|
Postano: 14:34 sri, 16. 6. 2004 Naslov: |
|
|
eh, da. ima netko ideju kako brzo sforpetljati ovaj prvi zadatak?
natipkah u C-u, radi mi 5 minuta... nista prepametno:
[code:1]
#include <stdio.h>
#define MAX 1000000000
int main () {
int i=0,x,n=0;
// char s[10];
for (i=0;i<MAX;i++) {
x=i;
while (x>>6) {
if (x%1000 == 123) { n++; break;}
x/=10;
}
}
printf("%d\n",n);
return 0;
}
[/code:1]
eh, da. ima netko ideju kako brzo sforpetljati ovaj prvi zadatak?
natipkah u C-u, radi mi 5 minuta... nista prepametno:
Kod: |
#include <stdio.h>
#define MAX 1000000000
int main () {
int i=0,x,n=0;
// char s[10];
for (i=0;i<MAX;i++) {
x=i;
while (x>>6) {
if (x%1000 == 123) { n++; break;}
x/=10;
}
}
printf("%d\n",n);
return 0;
}
|
_________________ 
|
|
[Vrh] |
|
ZELENIZUBNAPLANETIDO SADE Forumaš(ica)


Pridružen/a: 04. 03. 2004. (19:56:15) Postovi: (54F)16
Lokacija: hm?
|
Postano: 14:56 sri, 16. 6. 2004 Naslov: |
|
|
array [9] znamenki '0'..'9' i trazenje podstringa preskacuci nizove bez 1,2 ili 3 u njima? tj. imati flag koji broji koliko ima znamenki 1,2 i 3 i kada je na 0 ne raditi provjeru postojanja podstringa?
..najkompliciraniji dio bi bio napisati proc dodaj1() za niz znakova?
array [9] znamenki '0'..'9' i trazenje podstringa preskacuci nizove bez 1,2 ili 3 u njima? tj. imati flag koji broji koliko ima znamenki 1,2 i 3 i kada je na 0 ne raditi provjeru postojanja podstringa?
..najkompliciraniji dio bi bio napisati proc dodaj1() za niz znakova?
_________________
Pupoljak nije negiran. Rekao sam to i ponovit cu to jos jedanput. Pupoljak NIJE negirAn.
MADD
(Mothers Against Dirty Dialectics)
Based on a true story. NOT.
Ko ih sljivi, mi sviramo punk 
|
|
[Vrh] |
|
ahri Forumaš(ica)


Pridružen/a: 19. 11. 2003. (23:16:07) Postovi: (193)16
|
|
[Vrh] |
|
ZELENIZUBNAPLANETIDO SADE Forumaš(ica)


Pridružen/a: 04. 03. 2004. (19:56:15) Postovi: (54F)16
Lokacija: hm?
|
|
[Vrh] |
|
ZELENIZUBNAPLANETIDO SADE Forumaš(ica)


Pridružen/a: 04. 03. 2004. (19:56:15) Postovi: (54F)16
Lokacija: hm?
|
Postano: 16:21 sri, 16. 6. 2004 Naslov: |
|
|
ILI :idea: !
for po broju pojavnosti niza 123 (1,2 ili 3 puta), s time da postoji samo jedan 9-znam broj sa 3 pojavljanja 123.
Za brojeve sa 1nim 123 je jednostavno. fiksiras jedan takav 123 na i-tom mjestu i iteriras po ostalim znamenkama tako da ti se ne desi jos jedan 123.
Za brojeve sa 2 123 niza imas princip brojalice. Desni niz se pomice za 1 u lijevo kada lijevi niz dodje do njega i tada lijevi opet na pocetak lijeve strane niza i dalje i onda sa tim fiksiranim parom 123-ojki iteriras po ostalim znamenkama izbjegavajuci 123123123.
Ovaj drugi korak SIGURNO moze i pametnije jer za svaki par fiksiranih 123 imamo 10^3 odgovarajucih brojeva koji u sebi sadrze 123 i 123 na tim mjestima. Jedini izuzeti slucaj jest desni 123 na desnom kraju a lijevi na njega slijepljen ili na lijevom kraju. To je 2000 brojeva.
Prvi korak nije tako lijep, al i sa njim bi se vjerujem moglo nesto napraviti. Npr. Ako ti je 123 uz lijevi ili desni kraj onda znas da ti se na dva mjesta lijevo, tj. desno ne moze naci jos jedan 123 :)
isto tako, ne moras gledati znak po znak nego ti je dovoljno da na +3 skokovima naletis na 1, 2, ili 3 da provjeris prethodno i iduce slovo, tj. prethodna/iduca dva i nadjes niz
ovo je bilo zabavno :)
ILI !
for po broju pojavnosti niza 123 (1,2 ili 3 puta), s time da postoji samo jedan 9-znam broj sa 3 pojavljanja 123.
Za brojeve sa 1nim 123 je jednostavno. fiksiras jedan takav 123 na i-tom mjestu i iteriras po ostalim znamenkama tako da ti se ne desi jos jedan 123.
Za brojeve sa 2 123 niza imas princip brojalice. Desni niz se pomice za 1 u lijevo kada lijevi niz dodje do njega i tada lijevi opet na pocetak lijeve strane niza i dalje i onda sa tim fiksiranim parom 123-ojki iteriras po ostalim znamenkama izbjegavajuci 123123123.
Ovaj drugi korak SIGURNO moze i pametnije jer za svaki par fiksiranih 123 imamo 10^3 odgovarajucih brojeva koji u sebi sadrze 123 i 123 na tim mjestima. Jedini izuzeti slucaj jest desni 123 na desnom kraju a lijevi na njega slijepljen ili na lijevom kraju. To je 2000 brojeva.
Prvi korak nije tako lijep, al i sa njim bi se vjerujem moglo nesto napraviti. Npr. Ako ti je 123 uz lijevi ili desni kraj onda znas da ti se na dva mjesta lijevo, tj. desno ne moze naci jos jedan 123
isto tako, ne moras gledati znak po znak nego ti je dovoljno da na +3 skokovima naletis na 1, 2, ili 3 da provjeris prethodno i iduce slovo, tj. prethodna/iduca dva i nadjes niz
ovo je bilo zabavno
_________________
Pupoljak nije negiran. Rekao sam to i ponovit cu to jos jedanput. Pupoljak NIJE negirAn.
MADD
(Mothers Against Dirty Dialectics)
Based on a true story. NOT.
Ko ih sljivi, mi sviramo punk 
|
|
[Vrh] |
|
|