abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 05:55 | Zajímavý projekt

Dle příspěvku na blogu zaměstnanců CZ.NIC byl spuštěn ostrý provoz služby Honeypot as a Service (HaaS). Zapojit se může kdokoli. Stačí se zaregistrovat a nainstalovat HaaS proxy, která začne příchozí komunikaci z portu 22 (běžně používaného pro SSH) přeposílat na server HaaS, kde honeypot Cowrie (GitHub) simuluje zařízení a zaznamenává provedené příkazy. Získat lze tak zajímavé informace o provedených útocích. K dispozici jsou globální statistiky.

Ladislav Hagara | Komentářů: 0
dnes 04:44 | Komunita

Před týdnem společnost Feral Interactive zabývající se vydáváním počítačových her pro operační systémy macOS a Linux oznámila, že pro macOS a Linux vydají hru Rise of the Tomb Raider. Včera společnost oznámila (YouTube), že pro macOS a Linux vydají také hru Total War Saga: Thrones of Britannia. Verze pro Windows by měla vyjít 19. dubna. Verze pro macOS a Linux krátce na to.

Ladislav Hagara | Komentářů: 0
včera 21:33 | Nová verze

Byla vydána nová major verze 7.10 svobodného systému pro řízení vztahů se zákazníky (CRM) s názvem SuiteCRM (Wikipedie). Jedná se o fork systému SugarCRM (Wikipedie). Zdrojové kódy SuiteCRM jsou k dispozici na GitHubu pod licencí AGPL.

Ladislav Hagara | Komentářů: 0
včera 16:44 | Nová verze

Byla vydána nová verze 0.30 display serveru Mir (Wikipedie) a nová verze 2.31 nástrojů snapd pro práci s balíčky ve formátu snap (Wikipedie). Z novinek Miru vývojáři zdůrazňují vylepšenou podporu Waylandu nebo možnost sestavení a spouštění Miru ve Fedoře. Nová verze snapd umí Mir spouštět jako snap.

Ladislav Hagara | Komentářů: 0
včera 14:00 | Komunita

Na Indiegogo běží kampaň na podporu Sway Hackathonu, tj. pracovního setkání klíčových vývojářů s i3 kompatibilního dlaždicového (tiling) správce oken pro Wayland Sway. Cílová částka 1 500 dolarů byla vybrána již za 9 hodin. Nový cíl 2 000 dolarů byl dosažen záhy. Vývojáři přemýšlejí nad dalšími cíli.

Ladislav Hagara | Komentářů: 1
včera 11:11 | Nasazení Linuxu

Před dvěma týdny se skupina fail0verflow (Blog, Twitter, GitHub) pochlubila, že se jim podařilo dostat Linux na herní konzoli Nintendo Switch. O víkendu bylo Twitteru zveřejněno další video. Povedlo se jim na Nintendo Switch rozchodit KDE Plasmu [reddit].

Ladislav Hagara | Komentářů: 3
včera 05:55 | Komunita

Byla vydána vývojová verze 3.2 softwaru Wine (Wikipedie), tj. softwaru, který vytváří aplikační rozhraní umožňující chod aplikací pro Microsoft Windows také pod GNU/Linuxem. Z novinek lze zdůraznit například podporu HID gamepadů. Aktuální stabilní verze Wine je 3.0, viz verzování. Nejistá je budoucnost testovací větve Wine Staging s řadou experimentálních vlastností. Současní vývojáři na ni již nemají čas. Alexandre Julliard, vedoucí projektu Wine, otevřel v diskusním listu wine-devel diskusi o její budoucnosti.

Ladislav Hagara | Komentářů: 2
18.2. 16:55 | Komunita

Do 22. března se lze přihlásit do dalšího kola programu Outreachy (Wikipedie), jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 14. května do 14. srpna 2018, v participujících organizacích lze vydělat 5 500 USD.

Ladislav Hagara | Komentářů: 52
17.2. 15:44 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice dnes slaví 6 let od svého oficiálního vzniku. Nadace byla představena 28. září 2010. Formálně ale byla založena až 17. února 2012. Poslední lednový den byl vydán LibreOffice 6.0. Dle zveřejněných statistik byl za dva týdny stažen již cca milionkrát.

Ladislav Hagara | Komentářů: 1
17.2. 04:44 | Bezpečnostní upozornění

CSIRT.CZ upozorňuje, že byla vydána nová verze 1.2.3 svobodného routovacího démona Quagga (Wikipedie) přinášející několik bezpečnostních záplat. Při nejhorší variantě může dojít až k ovládnutí běžícího procesu, mezi dalšími možnostmi je únik informací z běžícího procesu nebo odepření služby DoS. Konkrétní zranitelnosti mají následující ID CVE-2018-5378, CVE-2018-5379, CVE-2018-5380 a CVE-2018-5381.

Ladislav Hagara | Komentářů: 0
Který webový vyhledávač používáte nejčastěji?
 (2%)
 (28%)
 (62%)
 (2%)
 (3%)
 (1%)
 (1%)
 (1%)
Celkem 385 hlasů
 Komentářů: 34, poslední 14.2. 18:44
    Rozcestník

    Dotaz: JAVA - dokonalá čísla

    20.11.2012 19:37 já
    JAVA - dokonalá čísla
    Přečteno: 1258×
    Potřeboval bych napsat program, který bude vypisovat všechna dokonalá čísla, vůbec si stím nevim rady děkuji.

    Téma:

    Dokonalá čísla: přirozené číslo je dokonalé, je-li rovno součtu všech svých kladných dělitelů vyjma sebe sama, např. 6=1+2+3. Napište program, který vyhledá všechna dokonalá čísla z intervalu <1,n> a zapíše je do výstupního souboru. Parametry: n, výstupní soubor.

    Řešení dotazu:


    Odpovědi

    20.11.2012 20:04 DK
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    tak zjisti vsechny delitele (for cyklus od i=2 treba do cislo/2, muze to byt i odmocnina z cisla), ty sectes, pokud to bude sedet, je to cislo dokonale...
    20.11.2012 20:22 l4m4
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    Takový program lze nahradit programem, který prostě vypíše po řadě čísla 6, 28, 496 a 8128, protože následující dokonalé číslo už je tímto naivním algoritmem za dobu životnosti počítače nedosažitelné.

    Chceš-li jich vypsat alespoň o pár víc, tak záleží na tom, zda přistoupíš na hypotézu, že neexistuje liché dokonalé číslo (krom 1, které lze v závsilosti na definici také označit za dokonalé). Ta není dokázána, ale existuje-li, je jistě větší než cca 101500, to už dokázáno je. Předpokládejme tedy, že neexistuje.

    Najít sudá dokonalá čísla lze snáz. Mají všechna tvar 2p−1(2p−1), kde p je prvočíslo. Čísla tohoto tvaru jsou sudá dokonalá čísla právě tehdy, když 2p-1 je také prvočíslo. Tudíž stačí ověřit prvočíselnost čísel tohoto tvaru. Tím by ses mohl dostat i s poměrně naivním algoritmem ověřování prvočíselnosti tak o tři dokonalá čísla dál.
    20.11.2012 20:45 l4m4
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    Nebo takto: Udělej si statickou tabulku s čísly typu long obsahující po řadě:

    6, 28, 496, 8128, 33550336, 8589869056, 137438691328, 2305843008139952128

    Postupně ji procházej a vypisuj čísla, dokud nepřekročí zadané n. Jakmile překročí, vypisování ukonči.

    Toto samozřejmě není ‚školní‘ řešení. Toto je řešení, které by se použilo v praxi: když je něco neměnné, blbě se to určuje a není toho moc, tak se to tabeluje. Když potřebuješ v programu π, tak taky použiješ tabelovanou hodnotu, nepočítáš ho pokaždé znovu.
    21.11.2012 16:41 Jardík
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    Řešení je jednoduché. Sdělíš zadavateli, že takový program napsat NELZE. Žádný program není schopný vypsat všechna dokonalá čísla, třeba i proto, že jich může být nekonečné množství.
    21.11.2012 18:53 jehovista
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    Zrejme ti unikla cast "z intervalu <1,n>"
    21.11.2012 19:16 Jardík
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    To bude asi tím, že je někdo blbej a nedočte si dotaz do konce ^^. Každopádně pokud to n není omezeno, měl by použít něco jako BigInteger, když použije nějakej ten int, tak mu program nebude fungovat správně při zadání "velkého" n, i když než by mu ho to stejně spočítalo, tak prožije 10 životů. Pokud n omezeno je (např. Integer.MAX_VALUE) tak bude nejlepší ona již navržená tabulka. Pokud ji zadání nezakazuje, zadání splní.
    21.11.2012 19:25 Jardík
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    Ještě si nesmím odpustit připomínku, že bohužel takhle kokotsky se dneska vyučuje programování na spoustě škol, řešit ptákoviny, které byly milionkrát vyřešeny, zbytečné ztrácení času, místo skutečného vyučování programování. Kdyby jim vyučující místo toho přečetl kapitolu ze standardu daného jazyka a vysvětlil ji, udělal by líp. Sečíst a vynásobit dvě čísla umí i cvičená opice.
    Jendа avatar 21.11.2012 20:25 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    Sečíst a vynásobit dvě čísla umí i cvičená opice.
    Tazatel zjevně studuje programování a přitom nedodal ani naivní řešení (třeba s žádostí o pomoc s optimalizací).
    22.11.2012 09:12 já
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    Příloha:
    program v příloze vypisuje čísla do 8128 a pak už to nic nevypíše!tak nevim jestli to mám brát jako dobrý zapis či nikoli! když to má být z intervalu <1,n>

    Jendа avatar 22.11.2012 09:53 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    Tak teď už fakt nevím, jestli si děláš prdel, nebo ne :-D
    22.11.2012 13:07 l4m4
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    Prostě jen nečetl nic, co zde mezitím bylo o dokonalých číslech napsáno...
    21.11.2012 20:28 l4m4
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    Řešení klasických problémů v žádném případě není na škodu. A nalezení vhodného algoritmu je jedna ze základních dovedností skutečného programátora.

    Ale proboha na úloze, kde to má smysl. U hledání dokonalých čísel mám pouze možnosti (a) tabelace těch známých (b) napsání programu, který příčetném čase najde houby (c) ponoření se do douhého studia teorie čísel.
    21.11.2012 23:12 karel
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    Tohle je spíš ideální případ, jak učit studenty přemýšlet o problému. Vsadím se, že polovina lidí co dostane něco takového zadané, napíše naivní algoritmus a pustí to přes noc. Ráno zjistí, že to pořád běží, tak si řekne. "Na netu jsem četl, že java je pomalá, napíšu to v C." Opět to pustí přes noc. Pak si bude na konci semestru v hodnocení předmětu stěžovat na nesmyslná zadání od učitelů. Přitom správný postup je říct, že to nejde a proč. To ale stojí daleko víc námahy.

    Skutečně jsem se s tím několikrát ve škole setkal. Třeba jednou týpek plánoval naprogramovat paralelní program na cluster, aby spočítal optimalizační verzi NP úplné úlohy na grafu o 1000 uzlech.

    22.11.2012 00:41 l4m4
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    V případě dokonalých čísel ovšem nejde o to, že to nejde.

    Ono to jde. Předně rozdělím situaci na případy, kdy n je menší než 101500, pak vím, že všechna dokonalá čísla jsou tvaru, který jsem uvedl. V případě, že je n větší, jedu hrubou silou, na tom asi pak opravdu prd záleží...

    Takže potřebuji ověřovat prvočíselnost čísel tvaru 2p-1. To opět jde. Kdo má lepší základy teorie čísel, ví, že ověřování prvočíselnosti lze dělat efektivněji než rozkladem. A konkrétně na čísla tvaru 2p-1 existují zase speciální algoritmy.

    Etc.

    Kdyby se jednalo o problém, který je tak těžký, že naivní algoritmus je naprd a state of the art algoritmus je taky naprd, tak budiž. Student zjistí, že některé problémy jsou prostě přesně neřešitelné a je třeba užít lepší či horší heuristiky. Lze diskutovat, jaké heuritstické metody se dají používat na problémy přesně neřešitelné. Například klasický problém obchodního cestujícího.

    Kdyby se jednalo o problém, kde naivní algoritmus už je přijatelně efektivní, ale state of the art algoritmus je nějaký super-efektivní nebo má nějaké jiné pěkné vlastnosti, to je OK. Student nevymyslí state of the art agloritmus, ale dokáže napsat něco, co něco smysluplného dělá, a lze pak diskutovat, jak by to šlo zlepšit. Například rozklad na prvočísla: i poměrně naivní algoritmus faktorizuje cokoli v rozsahu 64bitového integeru za jednotky sekund.

    Problémy, kde jakýkoli algoritmus, který dokáže vymyslet student, je naprd, přitom ale existují algoritmy založené na pokročílých teoriích, které to řeší úplně jinak -- a efektivně, tak takové problémy sice ukáží, že někdy je zapotřebí ke správnému řešení pokročilá matematika, ale z hlediska výuky programování je to depresivní a positivního si z toho student neodnese nic. A to je přesně hledání dokonalých čísel.
    Jendа avatar 22.11.2012 01:02 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    Já bych to tak černě neviděl. Vyučující chtěl prostě zadat studentům nějaký takový problém, na kterém ukážou, že pochopili, co je to for a if, a místo „Eratosthenovo síto po sto šedesáté osmé“ vybral tohle. Proto bych čekal obdobně naivní implementaci jako u toho síta - i když pro hledání prvočísel také máme lepší algoritmy.
    Jendа avatar 22.11.2012 01:08 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    Přitom správný postup je říct, že to nejde a proč. To ale stojí daleko víc námahy.
    Nevím, jestli je možné tohle očekávat od někoho, kdo právě zápasí s for cyklem, tj. ve výuce se asi nedostali tak daleko k tomu, aby dělali (značně složitou) analýzu, jak a proč počítat dokonalá čísla způsobem, který popisuje l4m4.
    21.11.2012 20:36 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    Objevit kolo je to nejlepší, jak pochopit jak funguje.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    21.11.2012 23:08 Ivan
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    Jeste bych dodal, ze i pouziti Javy a BigIntegeru je spatny napad. BigInteger je velice obecny typ pro velka cisla a jeho pouziti je dost pomale. Java opravdu neni urcena na numericku.

    22.11.2012 09:43 já
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    Příloha:
    program v příloze vypisuje čísla do 8128 a pak už to nic nevypíše!tak nevim jestli to mám brát jako dobrý zapis či nikoli! když to má být z intervalu <1,n>
    22.11.2012 10:48 Atom321 | skóre: 20
    Rozbalit Rozbalit vše Re: JAVA - dokonalá čísla
    Na to je potřeba umět nejen psát, ale i číst. Odpověď už v diskusi je.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.