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 16:44 | Nová verze

    Bylo oznámeno vydání Fedora Linuxu 43. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora IoT pro internet věcí, Fedora Cloud pro cloudové nasazení a Fedora CoreOS pro ty, kteří preferují neměnné systémy. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách Fedora Magazinu: Fedora Workstation, Fedora KDE Plasma Desktop, Fedora Silverblue a Fedora Atomic Desktops.

    Ladislav Hagara | Komentářů: 0
    dnes 15:22 | IT novinky

    Elon Musk oznámil (𝕏) spuštění internetové encyklopedie Grokipedia (Wikipedia). Zatím ve verzi 0.1. Verze 1.0 prý bude 10x lepší, ale i ve verzi 0.1 je podle Elona Muska již lepší než Wikipedia.

    Ladislav Hagara | Komentářů: 7
    dnes 05:44 | Komunita

    PSF (Python Software Foundation) po mnoha měsících práce získala grant ve výši 1,5 milionu dolarů od americké vládní NSF (National Science Foundation) v rámci programu "Bezpečnost, ochrana a soukromí open source ekosystémů" na zvýšení bezpečnosti Pythonu a PyPI. PSF ale nesouhlasí s předloženou podmínkou grantu, že během trvání finanční podpory nebude žádným způsobem podporovat diverzitu, rovnost a inkluzi (DEI). PSF má diverzitu přímo ve svém poslání (Mission) a proto grant odmítla.

    Ladislav Hagara | Komentářů: 18
    dnes 04:55 | Nová verze

    Balík nástrojů Rust Coreutils / uutils coreutils, tj. nástrojů z GNU Coreutils napsaných v programovacím jazyce Rust, byl vydán ve verzi 0.3.0. Z 634 testů kompatibility Rust Coreutils s GNU Coreutils bylo úspěšných 532, tj. 83,91 %. V Ubuntu 25.10 se již používá Rust Coreutils místo GNU Coreutils, což může přinášet problémy, viz například nefunkční automatická aktualizace.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | IT novinky

    Od 3. listopadu 2025 budou muset nová rozšíření Firefoxu specifikovat, zda shromažďují nebo sdílejí osobní údaje. Po všech rozšířeních to bude vyžadováno někdy v první polovině roku 2026. Tyto informace se zobrazí uživateli, když začne instalovat rozšíření, spolu s veškerými oprávněními, která rozšíření požaduje.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | Humor

    Jste nuceni pracovat s Linuxem? Chybí vám pohodlí, které vám poskytoval Microsoft, když vás špehoval a sledoval všechno, co děláte? Nebojte se. Recall for Linux vám vrátí všechny skvělé funkce Windows Recall, které vám chyběly.

    Ladislav Hagara | Komentářů: 1
    včera 16:11 | Komunita

    Společnost Fre(i)e Software oznámila, že má budget na práci na Debianu pro tablety s cílem jeho vyžívání pro vzdělávací účely. Jako uživatelské prostředí bude použito Lomiri.

    Ladislav Hagara | Komentářů: 1
    26.10. 17:11 | IT novinky

    Proběhla hackerská soutěž Pwn2Own Ireland 2025. Celkově bylo vyplaceno 1 024 750 dolarů za 73 unikátních zranitelností nultého dne (0-day). Vítězný Summoning Team si odnesl 187 500 dolarů. Shrnutí po jednotlivých dnech na blogu Zero Day Initiative (1. den, 2. den a 3. den) a na YouTube.

    Ladislav Hagara | Komentářů: 4
    26.10. 13:33 | Komunita

    Byl publikován říjnový přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Pracuje se na podpoře M3. Zanedlouho vyjde Fedora Asahi Remix 43. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.

    Ladislav Hagara | Komentářů: 0
    25.10. 15:44 | Zajímavý software

    Iniciativa Open Device Partnership (ODP) nedávno představila projekt Patina. Jedná se o implementaci UEFI firmwaru v Rustu. Vývoj probíhá na GitHubu. Zdrojové kódy jsou k dispozici pod licencí Apache 2.0. Nejnovější verze Patiny je 13.0.0.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (36%)
     (47%)
     (20%)
     (19%)
     (23%)
     (17%)
     (21%)
     (17%)
     (18%)
    Celkem 279 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    Rozcestník


    Vložit další komentář
    21.11.2007 23:18 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Špinavý trik
    Možná mám delší vedení, ale proč by to nešlo stejně řešit i v tom C++?
    |🇵🇸 avatar 21.11.2007 23:21 |🇵🇸 | skóre: 93 | blog:
    Rozbalit Rozbalit vše Re: Špinavý trik
    Šlo, ale ne tak krátce (jo, v Perlu by to bylo úplně košér) a hezky. Prostě v těch interpretovaných jazycích (Python, Ruby, trošku i Scheme) se podobná řešení přímo nabízejí.
    🇵🇸Touch grass🇺🇦 ✊ ani boha, ani pána
    21.11.2007 23:30 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Špinavý trik
    Mně tedy 'strlen(num)' zase o tolik delší nepřipadá…
    22.11.2007 08:30 lpd
    Rozbalit Rozbalit vše Re: Špinavý trik
    Teda to jsou ale dřísty...
    22.11.2007 09:05 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Špinavý trik
    Přesně tak, v Lispu bych to taky řešil stejně. A je to.
    21.11.2007 23:21 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Špinavý trik
    Asi prasím, ale když jsem tohle jednou řešil (C), postupoval jsem obdobně - strlen.
    Baník pyčo!
    21.11.2007 23:25 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: Špinavý trik
    No to je skutečně elegance sama, pokud teda Python nemá funkci logaritmus.

    Nicméně je asi jednodušší násobit než dělit. Co porovnávat s čísly 10^(i*2-1) (i = 1, ..), na prvním větším čísle v téhle posloupnosti se zarazit a rekurzivně aplikovat na "vstup/(předchozí číslo posloupnosti).
    21.11.2007 23:38 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Špinavý trik

    Logaritmus je první, co člověka napadne, ale to naráží na zaokrouhlovací chyby.

    Tu druhou myšlenku bych realizoval spíš tak, že bych šel nejdřív po 10^(2^k) a pak bych půlil interval. Ale když vezmu v úvahu, jaký je maximální počet desítkových číslic pro používané celočíselné typy, vychází mi, že nestojí za to vymýšlet nic přehnaně sofistikovaného.

    21.11.2007 23:40 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Špinavý trik
    Navíc bychom neměli zapomínat, že spočítat logaritmus je výpočetně výrazně složitější úloha než určit počet číslic celého čísla klasickým postupem. Nesmíme se nechat zmást tím, že to ve zdrojáku vypadá jako "jedna funkce" vs. "ošklivý cyklus".
    21.11.2007 23:50 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: Špinavý trik
    Já jsem si nevšiml, že autor načítá řetězec ("vyčistil načtený řetězec"). Měl jsem pocit, že načítá číslo, převádí ho na řetězec a pak vypíše jeho délku. Proto jsem zmínil logaritmus, když už chceme mít takovou "eleganci".
    22.11.2007 08:26 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Špinavý trik
    Naopak, formulace "vyčistil načtený řetězec" podle mne znamená, že na vstupu dostane řetězec. Pokud píše celý program, ne jen funkci, tak tomu tak vždy je, ať už ho bere z parametrů nebo ze standardního vstupu.
    22.11.2007 09:52 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: Špinavý trik
    Však říkám, že jsem si toho původně nevšiml :-)
    22.11.2007 09:56 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: Špinavý trik
    Krom toho teda dobře napsaný program by podle mě měl na špatném vstupu zařvat. A taky když očekává na vstupu řetězec a má počítat počet cifer, tak by se měl vypořádat i se vstupy jako " 1" možná i "01" atd.
    |🇵🇸 avatar 21.11.2007 23:41 |🇵🇸 | skóre: 93 | blog:
    Rozbalit Rozbalit vše Re: Špinavý trik
    Ale když vezmu v úvahu, jaký je maximální počet desítkových číslic pro používané celočíselné typy, vychází mi, že nestojí za to vymýšlet nic přehnaně sofistikovaného.

    Třeba v Pythonu je omezen velikostí paměti. Na těchto dvou gigabajtech by to mohlo být už krapet zajímavé.

    🇵🇸Touch grass🇺🇦 ✊ ani boha, ani pána
    21.11.2007 23:56 ajikdpoe | skóre: 23 | blog: dvh
    Rozbalit Rozbalit vše Re: Špinavý trik
    Length(IntToStr(Abs(cislo)))
    22.11.2007 00:10 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Špinavý trik
    Logické řešení spočívá v cyklickém celočíselném dělení dotyčného čísla desítkou a zaznamenávání počtu iterací.
    Ne, logické řešení spočívá ve výpočtu logaritmu a vhodném použití jeho celočíselné části, třeba takhle, i když je to hnusné (jen rychlý nástřel): 1+(long)(log(0.5+atol(cislo))/M_LN10). Kdyby na vstupu byl řetězec s číslicemi, tak prosím, ale o tom nebyla řeč. :-)
    22.11.2007 00:54 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Špinavý trik
    (Totiž, ten atol() tam nemá co dělat, předpokládám, že už na vstupu je číslo. ;-))
    Josef Kufner avatar 22.11.2007 00:37 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Špinavý trik
    Hm, napsat to v C je lehký...
    void main (int argc, char *argv[]) {
       printf("%d\n", argc > 1 ? strlen(argv[1]) : 0);
    }
    
    Hello world ! Segmentation fault (core dumped)
    frEon avatar 22.11.2007 04:56 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Špinavý trik
    jak se jmenuje ta knizka? ve skole jsem nasel na nejakym public disku na siti nejspis tu samou, ale uz tam neni a ma kopie se nedochovala :-/ . Myslim ze bych si ji ale mohl sehnad mit nejakou indicii jak ji identifikovat.
    Talking about music is like dancing to architecture.
    22.11.2007 09:34 zde | skóre: 9 | blog: Linuch | Brno
    Rozbalit Rozbalit vše Špinavý trik ?!?
    Na prasárny je lepší perl.
    $ perl -e '$_ = 1111; print y///c;'
    4
    
    Táto, ty de byl? V práci, já debil.
    22.11.2007 10:00 zde | skóre: 9 | blog: Linuch | Brno
    Rozbalit Rozbalit vše Re: Špinavý trik
    Poměrně elegantní řešení..
    def pocet_znaku(n):
        r = 1
        while n > 9:
            c = 1
            q = 10
            while q * q < n:
                q = q * q
                c *= 2
            r += c
            n /= q
        return r
    
    Táto, ty de byl? V práci, já debil.
    22.11.2007 10:24 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: Špinavý trik
    No to je to, co jsem chtěl napsat, akorát se mi tam omylem dostalo násobení místo umocňování.
    22.11.2007 11:05 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
    Rozbalit Rozbalit vše Re: Špinavý trik
    strlen(inttostr(int)); mi prijde jako zcela legitimni reseni. Ostatne asi proto ze mam radsi jazyky s dynamickym pretypovanim.

    Zdenek
    www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf
    22.11.2007 15:03 Kvakor
    Rozbalit Rozbalit vše Re: Špinavý trik
    Ano, obzvlast v interpretovanych jazycich to muze byt i nejrychlejsi a nejefektivnejsi reseni, tedy pokud jazyk nema primo na tohle nejakou hotovou funkci.

    Navic, logaritmy pouzit nejdou, protoze u cisel se samymi devitkami to muze hazet divne vysledky (mne osobne se presne tohle stalo), a postupne deleni bude obzlast v intepretovanem jazyce pomalejsi nez optimalizovana knihovni funkce na prevod na retezec.

    Ale pokd jde opravu o max. rychlost, tak bych asi pouzil upravenou verzi jiz zmineheho algoritmu s porovnavanim cisel. Stacilo by mit ulozena cisla 0, 1, 10, 100, 1000, 10 000 atd. jako pole, jejich index by byl vlasne pocet cislic (resp. minimalni ceslo s danym poctem cislic, mimo nuly). Pak by stacilo aplikovat klasicke binarni vyhledavani a pokud by se to trefilo mezi dve cisla, vzit to nizsi. Celkova slozitost O(ln(N)), ke N je pocet cislic, zadne logaritmy, zadne nasobeni, pri vhodne udelane tabulce (o velikost 2^n, doplnene cisly vetsimi nez maximum) neni treba ani deleni, staci jen bitove operace.

    Ale pokud to nepisete pro osmibitaky a podobne udelatory (obzvlast pro ty, co neumi hardwarove deleni) v assembleru, nema cenu se s necim takovym asi delat :-)

    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.