Portál AbcLinuxu, 11. května 2025 04:34
Řešení dotazu:
…v shellu…
Ehm.
$ dpkg -S `type -p seq xargs printf` coreutils: /usr/bin/seq findutils: /usr/bin/xargs $Ale to je jedno, rozoberať riešenie domácej úlohy tesne pred prázdninami je blbosť.
crunch hele bude asji jakoby víc rychlejší :D ;D
crunch 8 8 0123456789abcdef
Dobrý den, potřeboval bych…
Nepotřeboval. Dostal jsi to za domácí úkol a rádoby-anonymně podvádíš.
…v shellu…
Ve kterém shellu? Aspoň tohle by se hodilo napsat.
…VŠECHNY…
FAKT VŠECHNY??? NO TOHLE!!! TAK TO BUDOU ASI ČÍSLA OD 0 DO 232, CO???
Má někdo nápad jak to udělat - popřípadě aspoň nasměrovat jakým příkazem?
Pokud to má být v Bashi, spíš než nějaký jeden „příkaz“ jsou podstatné řídicí struktury Bashe a něco vestavěného, třeba printf
. Pokud by šlo o volání příkazu (ve smyslu spouštění procesu) na každé číslo z 4294967296, to by fakt trvalo setsakra dlouho. (Ne že by to netrvalo setsakra dlouho už tak!)
for ((i = 0; i <= 0xffffffff; ++i)); do printf '%08x\n' "$i"; done
Jo a kdyby ses náhodou chtěl dočkat, pak zkrátka takovou věc nedělej v shellu, nýbrž v nějakém rozumném jazyce:
#include <cstdint> #include <iostream> template<size_t N> struct NumberString { NumberString() { for (size_t i = 0; i < N; ++i) buffer[i] = '0'; buffer[N] = '\n'; // Who cares about Shitdows? buffer[N + 1] = '\0'; } void printAll(size_t level = 0) { if (level == N) { std::cout << buffer; } else { char *const byte{buffer + level}; for (size_t i{0}; i < 16; ++i) { *byte = digits[i]; printAll(level + 1); } } } private: char buffer[N + 2]; static constexpr char digits[16]{ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; }; constexpr size_t n_digits{8}; int main() { NumberString<n_digits> number; number.printAll(); return 0; }
Tohle^^^ na mém fosilním notebooku doběhne za 4 minuty, pokud člověk netrvá na výpisu na terminál.
(Jo a kdo si myslí, že tam nacpe std::endl
a bude king, ten velmi rychle zjistí, že zpomalení bude 20-násobné. (Bo automatycky flush()
, řekli by v Ostravě.))
Cílem naopak je, aby mu to nepomohlo. Aby se z něj stal další neúspěšný podvodníček.
Právě proto všem takovým podvodníčkům jakože s chutí a rád „radím“ a směju se, když se nad tím ostatní durdí.
Jednoduchá otázka: Chceš, aby takový člověk s tebou jednou pracoval v týmu? Ne? Tak mu poraď! (Jinak mu budeš muset radit v době, kdy už nebudeš mít na výběr.)
Tak. Teď jsem prozradil celé tajemství.
třeba to ani jako žádnej domácák neni :O :O
A='{0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f}' eval echo 0x$A$A$A$A$A$A
Hezčí:
A='{0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f}' eval echo 0x$A$A$A$A$A$A$A$A
Jo. A pak to náležitě trvá.
toje rychlý až se jako divim :O :O
Ale hovňajs.
Má tam 6 znaků místo 8. Jo, tak to je královsky rychlé, když je to 256× rychlejší, co?
No, vlastně 341.̅3×, když se to tak vezme. To už ať si spočítá každý sám.
toje rychlý žese už nedivim :D :D ;D ;D
dva znaky rvoucí ≠ kulervoucí
Jasně, a těch šest dalších odpracuje. No jo. Tenhle „potenciál“ je skvělé využít, ale hlavně (hlavně!) tomu probůh nedávat volební právo.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.