![]() |
Van benne kis hiba, mindjárt javitom
|
Quote:
|
A prímtényezős felbontással megvannak a számok ez oké.
De ha csak simán összeszorozzuk a sorszámokat, akkor lehet ellenpéldát találni. Mivel ha mondjuk a kitevő 8, akkor nem tudjuk, hogy az első és a 8. vagy a 2. és a 4. számról van-e szó. Tehát ha a könyvelés olyan, hogy az1. és 8. összeg ugyanaz továbbá a 2. és a 4. összeg is, akkor máris nem tudjuk, melyik melyik. |
Az előző megoldásomban két hiba volt. Egyrészt, ha egy szám kétszer szerepel, akkor bibi van. Másrészt prímtényezős felbontást csinálni egy nagy számnál szinte lehetetlen. Ezért olyan jó az RSA kódolás.
A megoldás: az első prímszámot felemeljük az első könyvelendő szám-ra, a másodikat a másodikra, stb. Tehát ha azt akarom könyvelni, hogy 6, 10, 20, 6, akkor a megoldás: 2^6 * 3^10 * 5^20 * 7^6 = ahány 0-t kell írni. Lebontani pedig egyszerűbb, mert egymást követő prímek lesznek a prímtényezős felbontásban, és egyértelmű, mert minden szám különböző prímnek lesz a kitevőjében, pontosan annak, amelynek a prímek közötti sorszáma megegyezik a könyvelendő szám sorszámával. |
Ilyen technikai kérdésekbe szerintem nagy hülyeség belemenni. Mivel ennyi db nulla leírása elég kevés szám után is lehetetlenné válik a gyakorlatban.
Egyébként ez a másik "szokásos megoldás". Azért is jó feladni ezt a feladatot, mert néha felbukkan új megoldás vagy megoldás kezdemény is. Van egy saját másoktól még nem reprodukált megoldásom is, ami valószínűleg kisebb számokat eredményez, de sajnos ott is exponenciálisan nő. |
És mi az egyik "szokásos megoldás", ha ez a másik?
|
Quote:
Tisztelettel megteszlek ezen megoldas utani konyvelonek, aki nyomogatja a nullakat. :D |
Quote:
|
Quote:
|
Quote:
Quote:
Tehát ha emellett végtelenül nagy a fizetésem, és végtelenül sok szép nő van, akkor vállalom a munkát :D De ha van rövidebb megoldásod, akkor hallgatom :p |
Quote:
|
Quote:
Errol egy vicc csattanoja jutott eszembe: "Legyen a medve buzi!" :) |
Quote:
|
Quote:
|
Quote:
Quote:
Quote:
|
Többször olvastam, de eddig nem értettem. Most sikerült felfognom. Alg nem magyaráz valami jól :rolleyes:
|
tehát pl ha 23-at és 15-öt akarom leírni, akkor 23915 nullát írok? és ebből hogy fejtem vissza a 23-at és 15-öt?:)
|
Quote:
|
Quote:
Pl.: 19, 5, 9 Ekkor ezt úgy írjuk le, hogy 2195910 A 9 jelenti a szóközt, 21,5,10 aszámok 9-es számrendszerben, ami éppen a fenti, ha visszaszámoljuk 10-esbe. Tehát a 19, 5, 9 számsorhoz több mint 2millió nullát kell leírni. A te példáddal élve 23 és 15 az 25916 |
Az én megoldásommal pedig kb. 249 billió nullát :D
|
Quote:
|
Quote:
|
Egy hasonló hosszúságú 0-sorozatot adó megoldás, ami eléggé hasonló a 9-es számrendszereshez, csak programozói megközelítés:
a felírandó számokat átírjuk 2-es számrendszerbelivé, és szóköz helyett egy elválasztó bitmintát használunk. Legyen a bitminta pl. 01110. Ahol a számok 2-es számrendszerbeli alakjában két darab 1-es van egymás mellett, ott írunk utána egy 0-t. Tehát adottak a számok: 19, 5, 9 Kettes számrendszerben: 10011 101 1001 Beszúrva a két egyes után egy 0-t, majd szóköz helyére a bitmintát írva ez jön ki: 10011001110101011101001 Ami átváltva 10-es számrendszerbe kicsit több, mint 4 millió. Annyi darab 0-t kell tehát írnunk. A visszafejtésben először törlünk minden olyan 0-t, ami pontosan kettő darab 1-es után következik, majd az elválasztó bitminták helyére szóközt írunk. Ez egyes esetekben képes rövidebb megoldást adni, mint a 9-es számrendszerbeli átváltás. Pl. ha a 8-t és a 9-t kell leírnunk, akkor az eredeti megoldással ehhez 8910 db nullát kell írnunk, míg ezzel a megoldással 1141-t. |
Quote:
|
Megint itt vagyok. Csak ez most épp predikátumkalkulus lesz. Remélem más nem útálja annyira mint én:)
Szóval a feladat mondhatni egyszerű, és elvileg tanultuk: Volt egy formula, azt DNF-re hoztam, de nekem KNF-re kéne (későbbiekben Horn-algoritmushoz fontos), de valahogy nem tudom kihozni ami a példában van: | vagy & és ~ tagadás DNF-ben: ((p & ~q) | (q & ~p)) | r | s van ugye az az összefüggés hogy: (F & G) | H ≡ (F | H) & (G | H) Csak nem tudom hogy mit hova kéne helyettesítenem hogy jó legyen. Egyébként megoldásnak ez van: ((p | q) & (~q | ~p)) | r | s ≡ (p | q | r | s) & (~p | ~q | r | s) Szóval izé. Hogy?:) |
Quote:
((p & ~q) | (q & ~p)) | r | s >> ((p + ~q) * (q + ~p)) * r * s (így jobban átlátom:)) beszorzod a zárójelet: (p*q + q*~q + p*~p + ~q*~p) ebből q*~q=1, p*~p=1 mert önmaga ellentetjével vagy-olod így tuti bekövetkezik:) így kapod ezt: ((p | q) & (~q | ~p)) | r | s >> ( ((p * q) + (~q * ~p)) * r * s megint beszorzol: (p*q*r*s)+(~q*~p*r*s)>> (p | q | r | s) & (~p | ~q | r | s) ) szerintem..:) |
Quote:
|
Kiválasztottunk 21 szomszédos természetes számot és összeadtuk őket, de egyet kifelejtettünk az összeadásból, így az összeg 1999 lett. Melyik számot felejtettük ki?
Próbáltam kétismeretlenes egyenletrendszert összehozni, de csak egy egyenletet sikerült felírnom: (n-10)+(n-9)....+(n-1)+n+(n+1)....+(n+9)+(n+10)=1999+x. Tippelgetésből kijött, hogy a sorozat 90...110, és a "kifelejtett" szám a 101, de levezetni még így sem tudom. Valaki esetleg? megj: Középsuli 2. osztály |
Mivel a megoldás csak egész szám lehet, így az egyetlen egyenletből nem tud kihullani az egyetlen jó megoldás. Így szükséges a "próbálgatás".
Tehát 21n=1999+x n legalább 96 kell legyen, és akkor egyesével meg kell nézni Hogy a kapott x az vajon benne van-e az n-10,n+10 intervallumban. Ez csak egyszer fordul elő, ha n=100, x=101. Illetve azt már nem nehéz belátni, hogy n>100-ra biztos, hogy nem lesz megoldás. |
Quote:
|
Quote:
n + (n+1) + (n+2) ... + (n+20) = 1999 + n + x / -(n+210) 20n = 1789 + x a legkisebb x, amit az 1789-hez adva 20-al osztható számot kapunk az 11. A következő 31 lenne, de mivel 0 =< x =< 20, így csak az x=11 a megoldás, és ebből következően n = 90. |
Quote:
|
A két módszer ötvözhető:
21n=1999+n+y y -10 és +10között kell legyen. |
Az osztály fórumán egy csaj az alábbi feladatot vetette fel:
Egy börtönben 365 cella van, minden cellában egy rab. A cellák zárai egy fordításra kinyílnak, még egy fordításra záródnak. A börtönből meglehet szökni, de eddig minden szökevényt elkaptak és megkétszerezték a büntetésüket, tehát a rabok nem kockáztatnak. Minden rabot egy évnél hosszabb időre ítéltek. A börtönt egy őr őrzi, aki az alábbi játékot találta ki - és osztotta meg a rabokkal: minden nap végigmegy a cellákon és elfordítja a zárakat, de nem akárhogy. Az első nap minden zárat elfordít, a második nap minden másodikat, a harmadik nap minden harmadikat és így tovább 365 napon keresztül. Akinek a végén nyitva lesz a cellája, szabadon távozhat. Hány rab szabadult ki, mire végzett a börtönőr? Fejtörés, számolgatás után arra jutottam: annak lesz nyitva év végén a cellája, akinek a cellájának a sorszámának páratlan számú osztója van. Csak a négyzetszámoknak van páratlan számú osztója, tehát gyök(365) lefele kerekítve. Annyi rab fog megszökni. Erre ő bevágja, hogy bizony nem mernek megszökni, ami ott van a szövegben: Quote:
Quote:
|
Ha ez matekfeladat, akkor igazad van. A szöveg első fele arra kell, hogy akinek első nap nyitva van a cellája ne menjen el.
De ha ez csak játék a szavakkal, akkor nem igazán érdekel. :) |
Quote:
|
Quote:
És a megoldásod is helyes, a 19 négyzetszám lesz a nyertes cella :) |
Quote:
|
Már kétszer végigolvastam, de még mindig nem jöttem rá, hogy mi utal a cellák kezdeti zár-állapotára. Ha kezdetben mindegyik zárva van, akkor világos, hogy miért csak a négyzetszámok, de honnan tudjuk, hogy az elején az összes be van zárva?
|
Quote:
|
All times are GMT +1. The time now is 02:16. |
Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Design partly based on Hódító's design by Grafinet Team Kft.
Contents and games copyright (c) 1999-2020 - Queosia, Hódító
Partnerek: Játékok, civ.hu