Forum » Programiranje » Challenge
Challenge
TESKAn ::
Zaenkrat:
1f
1g
1h
2k
1l
2u
1z
Huh, zdej morem sam še algoritem za spreminjat št. črk pogruntat...trenutni se mi zacikla:(.
1f
1g
1h
2k
1l
2u
1z
Huh, zdej morem sam še algoritem za spreminjat št. črk pogruntat...trenutni se mi zacikla:(.
Uf! Uf! Je rekel Vinetou in se skril za skalo,
ki jo je prav v ta namen nosil s seboj.
ki jo je prav v ta namen nosil s seboj.
Thomas ::
nekaj je že, kar tako naprej! trinajst a-jev, en b, en c, en č, osem d-jev, petinštirideset e-jev, en f, en g, en h, šestnajst i-jev, šestindvajset j-jev, štiri k-je, en l, tri m-je, dvaindvajset n-jev, tri o-je, štiri p-je, deset r-jev, petnajst s-jev, sedem š-jev, triindvajset t-jev, en u, šestnajst v-jev, en z in en ž.
Man muss immer generalisieren - Carl Jacobi
TESKAn ::
Urg...no, bomo probal.
Uf! Uf! Je rekel Vinetou in se skril za skalo,
ki jo je prav v ta namen nosil s seboj.
ki jo je prav v ta namen nosil s seboj.
Thomas ::
Ne obvladam tolk HTML, da bi napisal odgovor. Se pa še boljša.
Man muss immer generalisieren - Carl Jacobi
GaPe ::
Thomas
Ok, imamo znane vrednosti za a, b, c, č, d, in ž. Če bi vedel končno vsoto vseh črk, bi tiste neznane vrednosti, zgeneriral tako, da bi se ujemala s končno vsoto, vmes bi jih pa primerjal s pravilnimi stavki v nekem slovarčku (devetnajst a-jev, dva b-ja). Samo problem, ker ne vem končne vsote in ne znam napisat algoritma, ki bi ti zgeneriral pravilne stavke.
Samo povej, a bi se dalo na tak način pridt do končne rešitve?
Ok, imamo znane vrednosti za a, b, c, č, d, in ž. Če bi vedel končno vsoto vseh črk, bi tiste neznane vrednosti, zgeneriral tako, da bi se ujemala s končno vsoto, vmes bi jih pa primerjal s pravilnimi stavki v nekem slovarčku (devetnajst a-jev, dva b-ja). Samo problem, ker ne vem končne vsote in ne znam napisat algoritma, ki bi ti zgeneriral pravilne stavke.
Samo povej, a bi se dalo na tak način pridt do končne rešitve?
Don't steal! The government hates competition.
Thomas ::
GaPe
Če prav razumem, predlagaš forca bruta algoritem.
Ta te vedno privede do pravilnega rezultata, vprašanje je le, v kolikem času.
Tu je ta čas nepraktičen. Najverjetneje. Morda celo astronomski.
Če prav razumem, predlagaš forca bruta algoritem.
Ta te vedno privede do pravilnega rezultata, vprašanje je le, v kolikem času.
Tu je ta čas nepraktičen. Najverjetneje. Morda celo astronomski.
Man muss immer generalisieren - Carl Jacobi
TESKAn ::
Sej naredit stavek, če maš podano začetno število vseh črk, ni tak problem - je relativno enostavno. Preverjanje tut ni problem. Problem je pa najt en algoritem, ki ti bo določu, kolk črk je kerih v stavku. če ma kdo kako idejo - le na plan z njo!
Uf! Uf! Je rekel Vinetou in se skril za skalo,
ki jo je prav v ta namen nosil s seboj.
ki jo je prav v ta namen nosil s seboj.
Thomas ::
Zdej se mi zdi, da TESKAn razume poanto, GaPe je pa ne.
Torej, da jest prej nisem doumu, kaj GaPe sploh misli.
Poanta je pa ravno v tem, da je treba stavek sestaviti brez vednosti o tem, koliko črk je. Da se ujema - je edini - ampak ubijalski pogoj!
Torej, da jest prej nisem doumu, kaj GaPe sploh misli.
Poanta je pa ravno v tem, da je treba stavek sestaviti brez vednosti o tem, koliko črk je. Da se ujema - je edini - ampak ubijalski pogoj!
Man muss immer generalisieren - Carl Jacobi
GaPe ::
Saj razumem za kaj gre, jaz sem prej vprašal, ČE bi vedel koliko je končno število črk. No kakorkoli že, Thomas, kaj pa tole:
Za črke od "e" do "z" bi v datoteko vpisal do števila 40 (recimo, pač ugibam) z besedami (en e, dva e-ja, ...), potem bi pa napisal algoritem, ki bi ti za vsako črko posebej (bi na random ugibal) izpisal te besede in to po eno besedo (en e, dva e-ja, ...) v drugo datoteko. Ko bi za vse črke to napisal bi preveril če se število črk res ujema z besedami, ki so napisane v datoteki. In to bi ponavljal dokler ne pride do prave rešitve.
Saj to je neke vrste brute force, kajne?
Za črke od "e" do "z" bi v datoteko vpisal do števila 40 (recimo, pač ugibam) z besedami (en e, dva e-ja, ...), potem bi pa napisal algoritem, ki bi ti za vsako črko posebej (bi na random ugibal) izpisal te besede in to po eno besedo (en e, dva e-ja, ...) v drugo datoteko. Ko bi za vse črke to napisal bi preveril če se število črk res ujema z besedami, ki so napisane v datoteki. In to bi ponavljal dokler ne pride do prave rešitve.
Saj to je neke vrste brute force, kajne?
Don't steal! The government hates competition.
Zgodovina sprememb…
- spremenil: GaPe ()
darh ::
hem hem hem... men je pa ze tako lepo slo... pol sm pa vidu, da se mi slovnicno ne izide... DAMN...
a lohka kje dobim ze napisan prefixe pa suffixe za vse crke pri razlicnih stevilkah ?
a lohka kje dobim ze napisan prefixe pa suffixe za vse crke pri razlicnih stevilkah ?
Excuses are useless! Results are priceless!
Thomas ::
Aha GaPe - maksimalno število te zanima! Vzemi kar toliko, kot sem jest! V tabeli spodaj.
Ampak tako bo po moje dolgotrajno ...
xbite
01 en
02 dva _ -ja
03 tri _ -je
04 štiri _ -je
05 pet _ -jev
06 šest _ -jev
07 sedem _ -jev
08 osem _ -jev
09 devet _-jev
10 deset _-jev
11 enajst _ -jev
12 dvanajst _ -jev
13 trinajst _ -jev
14 štirinajst _ -jev
15 petnajst _ -jev
16 šestnajst _-jev
17 sedemnajst _ -jev
18 osemnajst _-jev
19 devetnajst _ -jev
20 dvajset _-jev
21 enaindvajset _ -jev
22 dvaindvajset _ -jev
23 triindvajset _ -jev
24 štiriindvajset _ -jev
25 petindvajset _ -jev
26 šestindvajset _-jev
27 sedemindvajset _ -jev
28 osemindvajset _-jev
29 devetindvajset _ -jev
30 trideset _ -jev
31 enaintrideset _-jev
32 dvaintrideset _-jev
33 triintrideset _-jev
34 štiriintrideset _-jev
35 petintrideset _-jev
36 šestintrideset _ -jev
37 sedemintrideset _-jev
38 osemintrideset _ -jev
39 devetintrideset _-jev
40 štirideset _ -jev
41 enainštirideset _-jev
42 dvainštirideset _-jev
43 triinštirideset _-jev
44 štiriinštirideset _-jev
45 petinštirideset _-jev
46 šestinštirideset _ -jev
47 sedeminštirideset _-jev
48 oseminštirideset _ -jev
49 devetinštirideset _-jev
50 petdeset _ -jev
51 enainpetdeset _-jev
52 dvainpetdeset _-jev
53 triinpetdeset _-jev
54 štiriinpetdeset _-jev
55 petinpetdeset _-jev
56 šestinpetdeset _ -jev
57 sedeminpetdeset _-jev
58 oseminpetdeset _ -jev
59 devetinpetdeset _-jev
60 šestdeset _-jev
61 enainšestdeset _ -jev
62 dvainšestdeset _ -jev
63 triinšestdeset _ -jev
64 štiriinšestdeset _ -jev
65 petinšestdeset _ -jev
66 šestinšestdeset _-jev
67 sedeminšestdeset _ -jev
68 oseminšestdeset _-jev
69 devetinšestdeset _ -jev
70 sedemdeset _ -jev
71 enainsedemdeset _-jev
72 dvainsedemdeset _-jev
73 triinsedemdeset _-jev
74 štiriinsedemdeset _-jev
75 petinsedemdeset _-jev
76 šestinsedemdeset _ -jev
77 sedeminsedemdeset _-jev
78 oseminsedemdeset _ -jev
79 devetinsedemdeset _-jev
80 osemdeset _-jev
81 enainosemdeset _ -jev
82 dvainosemdeset _ -jev
83 triinosemdeset _ -jev
84 štiriinosemdeset _ -jev
85 petinosemdeset _ -jev
86 šestinosemdeset _-jev
87 sedeminosemdeset _ -jev
88 oseminosemdeset _-jev
89 devetinosemdeset _ -jev
89 enaindevetdeset _-jev
90 devetdeset _-jev
Ampak tako bo po moje dolgotrajno ...
xbite
01 en
02 dva _ -ja
03 tri _ -je
04 štiri _ -je
05 pet _ -jev
06 šest _ -jev
07 sedem _ -jev
08 osem _ -jev
09 devet _-jev
10 deset _-jev
11 enajst _ -jev
12 dvanajst _ -jev
13 trinajst _ -jev
14 štirinajst _ -jev
15 petnajst _ -jev
16 šestnajst _-jev
17 sedemnajst _ -jev
18 osemnajst _-jev
19 devetnajst _ -jev
20 dvajset _-jev
21 enaindvajset _ -jev
22 dvaindvajset _ -jev
23 triindvajset _ -jev
24 štiriindvajset _ -jev
25 petindvajset _ -jev
26 šestindvajset _-jev
27 sedemindvajset _ -jev
28 osemindvajset _-jev
29 devetindvajset _ -jev
30 trideset _ -jev
31 enaintrideset _-jev
32 dvaintrideset _-jev
33 triintrideset _-jev
34 štiriintrideset _-jev
35 petintrideset _-jev
36 šestintrideset _ -jev
37 sedemintrideset _-jev
38 osemintrideset _ -jev
39 devetintrideset _-jev
40 štirideset _ -jev
41 enainštirideset _-jev
42 dvainštirideset _-jev
43 triinštirideset _-jev
44 štiriinštirideset _-jev
45 petinštirideset _-jev
46 šestinštirideset _ -jev
47 sedeminštirideset _-jev
48 oseminštirideset _ -jev
49 devetinštirideset _-jev
50 petdeset _ -jev
51 enainpetdeset _-jev
52 dvainpetdeset _-jev
53 triinpetdeset _-jev
54 štiriinpetdeset _-jev
55 petinpetdeset _-jev
56 šestinpetdeset _ -jev
57 sedeminpetdeset _-jev
58 oseminpetdeset _ -jev
59 devetinpetdeset _-jev
60 šestdeset _-jev
61 enainšestdeset _ -jev
62 dvainšestdeset _ -jev
63 triinšestdeset _ -jev
64 štiriinšestdeset _ -jev
65 petinšestdeset _ -jev
66 šestinšestdeset _-jev
67 sedeminšestdeset _ -jev
68 oseminšestdeset _-jev
69 devetinšestdeset _ -jev
70 sedemdeset _ -jev
71 enainsedemdeset _-jev
72 dvainsedemdeset _-jev
73 triinsedemdeset _-jev
74 štiriinsedemdeset _-jev
75 petinsedemdeset _-jev
76 šestinsedemdeset _ -jev
77 sedeminsedemdeset _-jev
78 oseminsedemdeset _ -jev
79 devetinsedemdeset _-jev
80 osemdeset _-jev
81 enainosemdeset _ -jev
82 dvainosemdeset _ -jev
83 triinosemdeset _ -jev
84 štiriinosemdeset _ -jev
85 petinosemdeset _ -jev
86 šestinosemdeset _-jev
87 sedeminosemdeset _ -jev
88 oseminosemdeset _-jev
89 devetinosemdeset _ -jev
89 enaindevetdeset _-jev
90 devetdeset _-jev
Man muss immer generalisieren - Carl Jacobi
TESKAn ::
V bistvu rabiš prefixe samo za števila od ena do dvajset - z njimi lahko pol narediš prefixe za števila do 99, vč kot tolk pa ne rabiš, razen če maš na začetku kak enormen stavek. Aja, prefixi na koncu so pa samo:
- nulti (za ena)
- ja (za dva)
- je (za tri in štiri)
- jev (za vsa ostala števila)
In pa maksimalno število v tem stavku, ki ga iščemo, po moje ne presega 50. Če se moj program ne moti, je e - jev, ki jih je največ, manj kot 48 (in več kot 35).
Sej stavek naredit ni tak problem. Jaz sem naredil tak program:
- Nastavi začetne vrednosti (začetni stavek, črke, ki jih je podal Thomas in črke, ki sem jih ugotovil jaz)
- zgenerira stavek iz števila podanih črk (mam array 25 števil, vsako za eno črko)
- prešteje št. črk v stavku in sprav to v drug array
- primerja začetno št. črk in končno št. črk. če se ujema - bingo!, če se pa ne, pa popravi začetno število črk.
Zdej štetje črk in generiranje stavka delujeta. kar mi pa ne deluje je popravljanje začetnih pogojev - algoritem, ki ga imam, mi zmeraj zacikla...eh, je6iga...se mo že še kaj spomnel.
- nulti (za ena)
- ja (za dva)
- je (za tri in štiri)
- jev (za vsa ostala števila)
In pa maksimalno število v tem stavku, ki ga iščemo, po moje ne presega 50. Če se moj program ne moti, je e - jev, ki jih je največ, manj kot 48 (in več kot 35).
Sej stavek naredit ni tak problem. Jaz sem naredil tak program:
- Nastavi začetne vrednosti (začetni stavek, črke, ki jih je podal Thomas in črke, ki sem jih ugotovil jaz)
- zgenerira stavek iz števila podanih črk (mam array 25 števil, vsako za eno črko)
- prešteje št. črk v stavku in sprav to v drug array
- primerja začetno št. črk in končno št. črk. če se ujema - bingo!, če se pa ne, pa popravi začetno število črk.
Zdej štetje črk in generiranje stavka delujeta. kar mi pa ne deluje je popravljanje začetnih pogojev - algoritem, ki ga imam, mi zmeraj zacikla...eh, je6iga...se mo že še kaj spomnel.
Uf! Uf! Je rekel Vinetou in se skril za skalo,
ki jo je prav v ta namen nosil s seboj.
ki jo je prav v ta namen nosil s seboj.
Thomas ::
Ja ... okay ... kosilo bo.
Kdor ne bo rešil, lahko pride na Dutch zraven.
Kdor ne bo rešil, lahko pride na Dutch zraven.
Man muss immer generalisieren - Carl Jacobi
Sergio ::
naj razrešim glede pravilnega sklona:
if stevilo mod 100 = 1 then koncnica := "";
if stevilo mod 100 = 2 then koncnica := "ja";
if stevilo mod 100 = 3 then koncnica := "je";
if (stevilo mod 100 = 0) or ((stevilo mod 100 > 3) and (stevilo mod 100 < 100)) then koncnica := "jev";
dejte v case, ce vas moti... sam tle mate, pa ne vec komplicirat!
if stevilo mod 100 = 1 then koncnica := "";
if stevilo mod 100 = 2 then koncnica := "ja";
if stevilo mod 100 = 3 then koncnica := "je";
if (stevilo mod 100 = 0) or ((stevilo mod 100 > 3) and (stevilo mod 100 < 100)) then koncnica := "jev";
dejte v case, ce vas moti... sam tle mate, pa ne vec komplicirat!
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.
če usoda ustavi mu korak,
on se ji zoperstavi.
darh ::
hm.. jest mam nov problem ;)
po osmem loopu ni več spremeb... hem hem hem ;)
po osmem loopu ni več spremeb... hem hem hem ;)
Excuses are useless! Results are priceless!
TESKAn ::
Hem hem, xbite, lahko poveš, kako spreminjaš število črk?
Thomas: Kje pa bo kosilo?.
Thomas: Kje pa bo kosilo?.
Uf! Uf! Je rekel Vinetou in se skril za skalo,
ki jo je prav v ta namen nosil s seboj.
ki jo je prav v ta namen nosil s seboj.
darh ::
hm... kdo pa je reku da dobis kosilo Teskan ?? sj nisi resu do konca... ne vellllllllla.. ;)
Excuses are useless! Results are priceless!
TESKAn ::
Jah, sm pa rešu do polovice. Sploh pa smo s Thomasom že bli na kosilu (če se ne motim, je bil v Portorožu zravn tudi Thomas). Mene bol zanima, na kakšen način ti, xbite, spreminjaš stavek oz. število črk v njem?
Uf! Uf! Je rekel Vinetou in se skril za skalo,
ki jo je prav v ta namen nosil s seboj.
ki jo je prav v ta namen nosil s seboj.
darh ::
jao.. do polovice mam tud jest ze resen :))))
1. preštejem znake
2. pokličem funkcijo ki opravlja naslednje:
3. lepo naredim loop cez celo abecedo...
4. pogledam ce ima crka ze kako vrednost (je uporabljena v stavku) al pa ce je ze preassignana (by Thomas)
5. preverim če znak spada v možico črk k jih je predpisal Thomas ;) in mi v tem primeru sforsiram to cifro.
6. pol pa zgeneriram besedo, črko in pripadajoč suffix ( npr: -jev...)
7. ponovno preštejem znake
8. gremo na začetek zanke ter na naslednjo črko
9. ko smo skozi abecedo, pač loopam tole funkcijo tolko časa dolker naj nebi najdu rešitve.... :)
1. preštejem znake
2. pokličem funkcijo ki opravlja naslednje:
3. lepo naredim loop cez celo abecedo...
4. pogledam ce ima crka ze kako vrednost (je uporabljena v stavku) al pa ce je ze preassignana (by Thomas)
5. preverim če znak spada v možico črk k jih je predpisal Thomas ;) in mi v tem primeru sforsiram to cifro.
6. pol pa zgeneriram besedo, črko in pripadajoč suffix ( npr: -jev...)
7. ponovno preštejem znake
8. gremo na začetek zanke ter na naslednjo črko
9. ko smo skozi abecedo, pač loopam tole funkcijo tolko časa dolker naj nebi najdu rešitve.... :)
Excuses are useless! Results are priceless!
TESKAn ::
Se prav, če sm jest prov razumu, ti spreminjaš vsako črko posebej, ne vseh naenkrat? Hm, bo treba preizkusit.
Uf! Uf! Je rekel Vinetou in se skril za skalo,
ki jo je prav v ta namen nosil s seboj.
ki jo je prav v ta namen nosil s seboj.
TESKAn ::
Whoa, kaj sm opazu - tudi Thomasu ne dela pravilno! Da povem, na kaj mislim:
Tle ni en ž, ampak sta dva, kar pomeni, da je v stavku en e in en n manj, so pa zato notri še po en d, v, a, j in a več, itd...hehe.
nekaj je že, kar tako naprej! trinajst a-jev, en b, en c, en č, osem d-jev, petinštirideset e-jev, en f, en g, en h, šestnajst i-jev, šestindvajset j-jev, štiri k-je, en l, tri m-je, dvaindvajset n-jev, tri o-je, štiri p-je, deset r-jev, petnajst s-jev, sedem š-jev, triindvajset t-jev, en u, šestnajst v-jev, en z in en ž.
Tle ni en ž, ampak sta dva, kar pomeni, da je v stavku en e in en n manj, so pa zato notri še po en d, v, a, j in a več, itd...hehe.
Uf! Uf! Je rekel Vinetou in se skril za skalo,
ki jo je prav v ta namen nosil s seboj.
ki jo je prav v ta namen nosil s seboj.
TESKAn ::
P.S.: tle mate en programčič za preverjanje pravilnosti stavka. Dela pa sam, če ni število črk večje od 52.
Ajde.
Opomba: programčič je meu not enga žužka, je odstranjen in zdej naj bi delal prov.
Ajde.
Opomba: programčič je meu not enga žužka, je odstranjen in zdej naj bi delal prov.
Uf! Uf! Je rekel Vinetou in se skril za skalo,
ki jo je prav v ta namen nosil s seboj.
ki jo je prav v ta namen nosil s seboj.
Zgodovina sprememb…
- spremenil: TESKAn ()
GaPe ::
Pismo, kako naj naredim za preverjanje. Ko mi prešteje za vsako črko posebej, kako naj to potem preverim, če se ujema z besedami.
TESKan, probu programčič. To ni v redu da moraš sam vstavljat število črk. To bi moglo bit avtomatsko.
TESKan, probu programčič. To ni v redu da moraš sam vstavljat število črk. To bi moglo bit avtomatsko.
Don't steal! The government hates competition.
Zgodovina sprememb…
- spremenil: GaPe ()
GaPe ::
Že vem, tako kot je Thomas napisu pred besedami 01, 02, ... simpl .
Don't steal! The government hates competition.
Thomas ::
Thomas je tepec, ki ne obvlada kodnih tabel za schumnike.
Tako je programu vpisal en ZH pod eno X kodno tabelo, pa mu ga program ni štel!
Sicer (mu) program deluje v redu.
nekaj je že, kar tako naprej: sedemnajst a-jev, en b, en c, en č, dvanajst d-jev, oseminštirideset e-jev, en f, en g, en h, enajst i-jev, osemindvajset j-jev, štiri k-je, en l, osem m-jev, dvaindvajset n-jev, pet o-jev, tri p-je, sedem r-jev, sedemnajst s-jev, tri š-je, sedemnajst t-jev, en u, devetnajst v-jev, en z in dva ž-ja!
Tako je programu vpisal en ZH pod eno X kodno tabelo, pa mu ga program ni štel!
Sicer (mu) program deluje v redu.
nekaj je že, kar tako naprej: sedemnajst a-jev, en b, en c, en č, dvanajst d-jev, oseminštirideset e-jev, en f, en g, en h, enajst i-jev, osemindvajset j-jev, štiri k-je, en l, osem m-jev, dvaindvajset n-jev, pet o-jev, tri p-je, sedem r-jev, sedemnajst s-jev, tri š-je, sedemnajst t-jev, en u, devetnajst v-jev, en z in dva ž-ja!
Man muss immer generalisieren - Carl Jacobi
TESKAn ::
Gape, ta programčič ni namenjen iskanju stavka - ta programčič je namenjen preverjanju pravilnosti stavka
Thomas - bi se ti dalo še enkrat preverit ta stavek, ki ga iščemo? Kr ne bi rad vidu, da bi k norc iskau stavk z 19 a - ji, pol bi pa ugotovil, da je a - jev v bistvu 20...no offence, just a precaution...
P.S.: zaenkrat sem naredil tole, ma se stvar zacikla...
Thomas - bi se ti dalo še enkrat preverit ta stavek, ki ga iščemo? Kr ne bi rad vidu, da bi k norc iskau stavk z 19 a - ji, pol bi pa ugotovil, da je a - jev v bistvu 20...no offence, just a precaution...
P.S.: zaenkrat sem naredil tole, ma se stvar zacikla...
Uf! Uf! Je rekel Vinetou in se skril za skalo,
ki jo je prav v ta namen nosil s seboj.
ki jo je prav v ta namen nosil s seboj.
TESKAn ::
gape, za preverjanje:
- najprej določi dolžino stavka. To mam jaz tko:
for(i=0;i<1024;i++)
{
if(stavek[i]!=0) stz++;
}
1024 je pač celotna dolžina arraya, v katerem imam stavek.
- pol pa nared eno FOR zanko, moja zgleda tko
(tle me neki forum je6e, za for stavk so pogoji enaki, kot v drugih for zankah, sam da je i manjši od stz+1):
for(i=0;i {
if(stavek[i]=='a') koncni[0]++;
if(stavek[i]=='b') koncni[1]++;
.....
}
stz -> število znakov v stavku
stavek -> char array dolžine 1024
koncni -> int array dolžine 25, vsako mesto je za eno črko abecede; a je v 0, b je v 1,...
za preverit, če se ujema:
Simpl, jaz mam tko:
- dva int arraya dolžine 25; en za začetne vrednosti, en za končne vrednosti
- pol pa en simpl prireditveni stavek pa ena for zanka:
napaka=0;
for(i=0;i<25;i++)
{
if(zacetni[i]!=koncni[i]) napaka=1;
}
Zdej če se katerikoli vrednosti ne bosta ujemali, nastavi vrednost napaka na 1; Se prav, da moreš stavek tolk časa spreminjat, da ostane vrednost napaka==0. Se prav, da daš eno do...while zanko:
do
{
(generator stavka, štetje, preverjanje,...)
}
while(napaka==1)
Pol pa sam še izpis vrednosti pa stavka...
- najprej določi dolžino stavka. To mam jaz tko:
for(i=0;i<1024;i++)
{
if(stavek[i]!=0) stz++;
}
1024 je pač celotna dolžina arraya, v katerem imam stavek.
- pol pa nared eno FOR zanko, moja zgleda tko
(tle me neki forum je6e, za for stavk so pogoji enaki, kot v drugih for zankah, sam da je i manjši od stz+1):
for(i=0;i
if(stavek[i]=='a') koncni[0]++;
if(stavek[i]=='b') koncni[1]++;
.....
}
stz -> število znakov v stavku
stavek -> char array dolžine 1024
koncni -> int array dolžine 25, vsako mesto je za eno črko abecede; a je v 0, b je v 1,...
za preverit, če se ujema:
Simpl, jaz mam tko:
- dva int arraya dolžine 25; en za začetne vrednosti, en za končne vrednosti
- pol pa en simpl prireditveni stavek pa ena for zanka:
napaka=0;
for(i=0;i<25;i++)
{
if(zacetni[i]!=koncni[i]) napaka=1;
}
Zdej če se katerikoli vrednosti ne bosta ujemali, nastavi vrednost napaka na 1; Se prav, da moreš stavek tolk časa spreminjat, da ostane vrednost napaka==0. Se prav, da daš eno do...while zanko:
do
{
(generator stavka, štetje, preverjanje,...)
}
while(napaka==1)
Pol pa sam še izpis vrednosti pa stavka...
Uf! Uf! Je rekel Vinetou in se skril za skalo,
ki jo je prav v ta namen nosil s seboj.
ki jo je prav v ta namen nosil s seboj.
Zgodovina sprememb…
- spremenil: TESKAn ()
Thomas ::
Ja no, sem preveril. V redu je.
Samo enkrat sem se zmotil s šumnikom "ž" - pa ne v nalogi. Tam je vse v redu. Pač pa pri vnosu prvega dela stavka v komandno linijo programa.
Keep trying!
Samo enkrat sem se zmotil s šumnikom "ž" - pa ne v nalogi. Tam je vse v redu. Pač pa pri vnosu prvega dela stavka v komandno linijo programa.
Keep trying!
Man muss immer generalisieren - Carl Jacobi
Thomas ::
Ta stavek vsebuje natanko sedeminpetdesetkrat prvo črko, dvakrat drugo črko, enkrat tretjo črko, enaintridesetkrat četrto črko, šestintridesetkrat peto črko, enainosemdesetkrat šesto črko, ničkrat sedmo črko, enkrat osmo črko, ničkrat deveto črko, sedemintridesetkrat deseto črko, dvajsetkrat enajsto črko, dvainpetdesetkrat dvanajsto črko, ničkrat trinajsto črko, enajstkrat štirinajsto črko, enainštiridesetkrat petnajsto črko, šestinpetdesetkrat šestnajsto črko, sedemkrat sedemnajsto črko, štiriinšestdesetkrat osemnajsto črko, devetinštiridesetkrat devetnajsto črko, desetkrat dvajseto črko, sedeminosemdesetkrat enaindvajseto črko, dvakrat dvaindvajseto črko, osemnajstkrat triindvajseto črko, ničkrat štiriindvajseto črko in ničkrat petindvajseto črko abecede.
Man muss immer generalisieren - Carl Jacobi
darh ::
pa ja de :) dj.. zdj si pa ze smotan noooooooooo ;)))
Excuses are useless! Results are priceless!
Zgodovina sprememb…
- spremenil: darh ()
Sergio ::
Thomas: okej, to pa je že hud biznis...
sicer ma pa tvoj program malo napačo: (glej naslednje sporočilo)
sicer ma pa tvoj program malo napačo: (glej naslednje sporočilo)
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.
če usoda ustavi mu korak,
on se ji zoperstavi.
Sergio ::
še naprej vso srečo reševalcem želi thomas enaindvajset a-jev, en b, dva c-ja, dva č-ja, šestnajst d-jev, dvainpetdeset e-jev, en f, en g, dva h-ja, deset i-jev, osemindvajset j-jev, en k, tri l-je, sedem m-jev, sedemnajst n-jev, pet o-jev, štiri p-je, šest r-jev, dvajset s-jev, sedem š-jev, devetnajst t-jev, en u, šestindvajset v-jev, en z in dva ž-ja.
Thomas, moralo bi pisati TRIJE L-JI, saj bi moral tu govoriti v imenovalniku in ne v tožilniku. Tudi "štirje p-ji" bi morali nastati. whoops, pa se vse podre ;). napiši popravek... v katerem lahko izbiraš med imenovalnikom ter tožilnikom
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.
če usoda ustavi mu korak,
on se ji zoperstavi.
Thomas ::
Sergio
vsebuje "tri l-je".
Ampak v načelu maš pa prav.
vsebuje "tri l-je".
Ampak v načelu maš pa prav.
Man muss immer generalisieren - Carl Jacobi
Sergio ::
Thomas: aja, btw, rezerviraj restavracijo...
upam
li mi ti raaaaa njeeeeee....
upam
li mi ti raaaaa njeeeeee....
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.
če usoda ustavi mu korak,
on se ji zoperstavi.
GaPe ::
Jaz sem že pognal svoj random generatorček za tole, pa sem ugotovil da se pisanje v datoteke in random ugotavljanje ne splača (porab PREVEČ cajta).
Moram še malo porihtat . Zagotavljam pa da do naslednjega tedna bom imel rezultat .
Moram še malo porihtat . Zagotavljam pa da do naslednjega tedna bom imel rezultat .
Don't steal! The government hates competition.
Sergio ::
GaPe: čisti Brute Force za tole zadevo bi porabil več časa, kot ga imaš - živeti.
malo logično razmišljaj ter deduciraj, boš prec videl, da bo šlo.
malo logično razmišljaj ter deduciraj, boš prec videl, da bo šlo.
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.
če usoda ustavi mu korak,
on se ji zoperstavi.
vuego ::
Nope, brute force res ne gre. S precej optimiziranim algoritmom je blo cca 10^17 možnosti.
Mal preveč, a ne?
Mal preveč, a ne?
TESKAn ::
Sej, če pomisliš: 24 mest, za vsako preverjat vrednosti od 1 pa do recmo 55...hmmm....
pa ej fantje, res nimate vč nobene ideje? Od x - bite - a je bla dobra, ma še zmeri ne dela...
pa ej fantje, res nimate vč nobene ideje? Od x - bite - a je bla dobra, ma še zmeri ne dela...
Uf! Uf! Je rekel Vinetou in se skril za skalo,
ki jo je prav v ta namen nosil s seboj.
ki jo je prav v ta namen nosil s seboj.
Primoz ::
/me + serđ + še en sošolec smo danes v šoli skrčili število možnosti na 1*10^12. Ko se mi bo ljubilo napisati program za preverit zadevo (ubistvu so same celoštevilčne operacije - nič stringov)... dobite brute force rešitev.
There can be no real freedom without the freedom to fail.
GaPe ::
TESKAn:
Pr e-ju lahko bereš od 30 do 50, pa tko naprej.
Pr e-ju lahko bereš od 30 do 50, pa tko naprej.
Don't steal! The government hates competition.
TESKAn ::
GaPe: res lahko, vendar ti še vedno ostane OGROMNO možnosti. Tko da po moje se je bolje skoncentrirat na to, da najdemo način, KAKO popravit napačen stavek, da bo bolj pravilen. Zaenkrat sm jaz probau dva načina:
- nardiš stavek, preveriš, začetne vrednosti, ki ne veljajo, nadomestiš z končnimi. Stvar se zacikla.
- Po x - bite - ovi ideji sem spreminjal črke eno naenkrat, če je bila končna vsota črk večja od začetne - prištel ena, če je bila končna manjša od začetne - odštel ena. Zadeva se tut zacikla, ma se mi zdi, da deluje bolje.
Zdej pa iščem ideje - koko se še lahko spreminja stavek? Any idea is welcome.
P.S.:
GaPe, ti slučajno študiraš elektro?
P.P.S.:
Primož: lahko zvem, koko ste zgeneriral te možnosti? Kr če ne gre drugače - mo pa 1*10^12 opcij preverjal.
- nardiš stavek, preveriš, začetne vrednosti, ki ne veljajo, nadomestiš z končnimi. Stvar se zacikla.
- Po x - bite - ovi ideji sem spreminjal črke eno naenkrat, če je bila končna vsota črk večja od začetne - prištel ena, če je bila končna manjša od začetne - odštel ena. Zadeva se tut zacikla, ma se mi zdi, da deluje bolje.
Zdej pa iščem ideje - koko se še lahko spreminja stavek? Any idea is welcome.
P.S.:
GaPe, ti slučajno študiraš elektro?
P.P.S.:
Primož: lahko zvem, koko ste zgeneriral te možnosti? Kr če ne gre drugače - mo pa 1*10^12 opcij preverjal.
Uf! Uf! Je rekel Vinetou in se skril za skalo,
ki jo je prav v ta namen nosil s seboj.
ki jo je prav v ta namen nosil s seboj.
Zgodovina sprememb…
- spremenil: TESKAn ()
Thomas ::
Ne vem če je do 31.01.2002 dovolj časa za brut force ...
Men dela program kakšno minuto.
Men dela program kakšno minuto.
Man muss immer generalisieren - Carl Jacobi
Primoz ::
Danes sem v 1h skupaj spackal program, ki brute force preverja možnosti. Ker trenutno dela samo 2mio kombinacij / s se ga sramujem. Ko bo nekje nad 50mio kombinacij... ga dobite. Vendar bo takole šlo prepočasi, tako, da bo treba probat implementirat matematični postopek po katerem smo prisli do 10^12 možnosti (namig... nihče naj se ne trudi preverjat za katerokoli črko za več kot 64 ponovitev... ni vredno.. in edina črka s to količino - MAX - ampak res MAX z zelo nizko verjetnostjo - je e... vse ostale imajo bistveno manj ponovitev. Sedaj se ravno brute force dokazuje, da je nečesa več kot pet. Ko bo končal... dobite še dodatno skrčeno število možnosti - verjetno vsaj za faktor 10 in takrat napišem do kje sem prišel. In pa še nekaj... preverjat in računat je potrebno samo 12 črk (in ne 25), tako da najbolj črni brute force scenarih pobere približno 30^12 kombinacij (obljubim... da bom vsaj do 10^10 priteral zadevo... če bo le čas)
There can be no real freedom without the freedom to fail.
Primoz ::
Pa še nekaj... vsi ki delate preko brute forcea... pozabite na stringe - je prepočasno. Problem je rešljiv z celoštevilčnimi operacijami... in če bi našli kakšnega velikega norca... je spremenljivk dovolj malo, da bi se jih v assemblerju dalo premetavati med registri (tako nas ne bi upočasnjeval počasen RAM).... bom probal še skrčit območje :)))
There can be no real freedom without the freedom to fail.
Primoz ::
Thomas... če semle notri napišem meje za katere se mi zdi da sem jih dokazal (so dokazane... razen če smo zagrešili kakšno računsko napakico v stilu 1+1=5), bi bilo skladno z tvojim natečajem, če bi lahko meje komentiral in samo rekel da/ne (ne na per črka bazi... ampak celotna lista... se ujema s končnim odgovorom ali ne)?
There can be no real freedom without the freedom to fail.
vuego ::
Js sem pa naštel 14 črk, ki jih je treba preverjat.
Lahko bi napisal program v ASMju, ampak nekako v tem ne vidim smisla. Hitrost ne bi bila bistveno večja, kot v dobro napisanem C programu, dela pa bi bilo bistveno več.
Lahko bi napisal program v ASMju, ampak nekako v tem ne vidim smisla. Hitrost ne bi bila bistveno večja, kot v dobro napisanem C programu, dela pa bi bilo bistveno več.
Zgodovina sprememb…
- spremenil: vuego ()
TESKAn ::
Ok, po mal perverjanja sm prišel do naslednjih ugotovitev:
- neznanih črk je še 12. Znane pa so:
19 a - jev
2 b - ja
1 c
2 č - ja
11 d - jev
1 f
1 g
1 h
2 k - ja
1 l
2 u - ja
1 z
1 ž
Neznanke pa ostajajo:
med 36 in 45 e - jev
med 9 in 20 i - jev
med 27 in 29 j - jev
med 2 in 7 m - jev
med 17 in 21 n - jev
med 3 in 9 o - jev
med 1 in 8 p - jev
med 4 in 10 r - jev
med 13 in 18 s - jev
med 2 in 9 š - jev
med 21 in 26 t - jev
med 21 in 28 v - jev
Tko, naprej pa ne morem vč - znam premalo programirat...no ja, če komu pomaga - z temi vrednostmi (če so prave) pride z brute force - om dosti manj računanja...
P.S.:
Primoz, kolikor sem do zdej videl v postih, kjer je Thomas pisal črke, je e - jev bilo max. 52.
- neznanih črk je še 12. Znane pa so:
19 a - jev
2 b - ja
1 c
2 č - ja
11 d - jev
1 f
1 g
1 h
2 k - ja
1 l
2 u - ja
1 z
1 ž
Neznanke pa ostajajo:
med 36 in 45 e - jev
med 9 in 20 i - jev
med 27 in 29 j - jev
med 2 in 7 m - jev
med 17 in 21 n - jev
med 3 in 9 o - jev
med 1 in 8 p - jev
med 4 in 10 r - jev
med 13 in 18 s - jev
med 2 in 9 š - jev
med 21 in 26 t - jev
med 21 in 28 v - jev
Tko, naprej pa ne morem vč - znam premalo programirat...no ja, če komu pomaga - z temi vrednostmi (če so prave) pride z brute force - om dosti manj računanja...
P.S.:
Primoz, kolikor sem do zdej videl v postih, kjer je Thomas pisal črke, je e - jev bilo max. 52.
Uf! Uf! Je rekel Vinetou in se skril za skalo,
ki jo je prav v ta namen nosil s seboj.
ki jo je prav v ta namen nosil s seboj.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [C] Sortiranje preštetih črkOddelek: Programiranje | 1419 (1255) | BigBoobs |
» | Coca Cola nagradna igra iPod (strani: 1 2 3 4 )Oddelek: Loža | 20850 (11851) | DimmniBurek |
» | Thomasu:Oddelek: Novice / Obvestila | 1842 (1842) | Lunik |
» | SREČNO NOVO LETO 2002Oddelek: Loža | 1267 (990) | zetko |
» | einstein-ov testOddelek: Loža | 2225 (1883) | Thomas |