Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 26.08.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
Byla vydána nová stabilní verze 8.2 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 152. Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána nová stabilní verze 4.0 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). S rozhraním přepsaným do Qt. Přehled novinek také na YouTube. Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.
NVIDIA kupuje Hugging Face za 12,93 miliardy dolarů.
Předobjednat si lze nový jednodeskový počítač Arduino VENTUNO Q s předinstalovaným Ubuntu. S 16 GB LPDDR5 a 64 GB eMMC. Pro lokální LLM, agentní AI, počítačové vidění, robotiku…
Hexpair není nejlepší HEX editor na světě a ani se o to nesnaží. Zato je k dispozici kdykoliv a kdekoliv – všude tam, kde máte svůj Vim. Vznikl jako hobby projekt před pár měsíci a dospěl do stavu, kdy by mohl být užitečný širší komunitě. Přepnout do HEX režimu se dá i uprostřed rozdělané práce: Soubor, který už máte otevřený běžným vim file.md, jedním příkazem přepnete do HEX editoru a dalším příkazem ho můžete vrátit zpět do textu. Kurzor přitom
CERN dlouhodobě používal vlastní sestavení RHEL, ze kterého přešel na CentOS Stream. Federico Vaga a Nikos Tsipinakis ale nyní v přednášce na MiniDebConf Winterthur 2026 popisují plán probíhajícího přechodu na Debian pro řízení akcelerátorů. Důvodem k opuštění CentOS Stream jsou zachování zpětné kompatibility se starším hardwarem, kterou Red Hat narušuje, když tlačí sestavení balíčků pro novější verze architektury (x86-64), a nedostatečné nástroje pro sestavování vlastních balíčků a repozitářů.
UZDoom (Wikipedie), tj. fork GZDoom, byl vydán ve verzi 5.0.0. Videopředstavení na YouTube. Podrobný přehled novinek v Changelogu.
Příručka Linux From Scratch pro sestavení základního linuxového systému byla aktualizována v pravidelném půlročním termínu. Vydání 13.1 shrnuje přes 40 nových verzí balíčků a několik patchů. Navazující příručka Beyond Linux From Scratch s recepty pro sestavení dalších knihoven a aplikací zatím vydána nebyla, ačkoliv vývojová verze stále dostává aktualizace. Lze je číst online nebo stáhnout v HTML či PDF.
package dcv4;
public class Zn {
public static void main(String[] args) {
java.util.Scanner jc = new java.util.Scanner(System.in);
System.out.printf("Zadejte n: ");
long a, b = 1011;
int n;
int x = 1;
if (a^b) {
if (b>=0, n>1) {
}
Dekuji za kazdou radu.
a^b, proč to tam je? Asi bys měl procházet číslo b po jednotlivých bitech a podle hodnoty daného bitu pracovat s číslem x.
Mame (b)_10 = (b_p b_(p-1) ... b_1 b_0)_2
Skus sa zamysliet ako zo znalosti: (v dalsom (...) znamena v dvojkovej sustave)
a^(b_p ... b_1) mod n mozno vypocitatJe to vlastne popisane v hinte 3.
Cyklus, ktory zbehne maximalne tolkokrat, kolko je bitov v reprezentacii datoveho typu pre b sluzi zase na to, aby sa dala zistit reprezentacia b v dvojkovej sustave zlava. (Vacsinou sa ide sprava, t.j. od poslednej cislice.)
Tieto dve veci treba dat dokopy a mas program.
Priklad: a^6 mod n, predpokladame, ze datovy typ reprezentujuci 6 ma 4 bity. Preto, 6 je reprezentovane ako 0101. Na zaciatku mame a^(0) mod n = 1. Zistime prvu cislicu 4-bitovej reprezentacie cisla 6: 0: -> pouzijeme postup, ako z a^(0) mod n -> a^(00) mod n V dalsom kroku zistime 2. cislicu: 1: -> pouzijeme postup, ako z a^(00) mod n -> a^(001) mod n 3. cislica: 0: a^(001) mod n -> a^(0010) mod n 4. cislica: 1: a^(0010) mod n -> a^(00101) mod n a mame vysledok.
Snad to aspon trochu pomoze.
Marek
int pocetBitu=Long.toBinaryString(b).length()
Krok 3) Zde je třeba se zamyslet. Zadavatel výslovně zakázal používat řetězec. Přesto jsme schopni zjistit zda je na požadovaném místě binární reprezentace čísla b jednička nebo nula. Pro i-tý bit čísla si jednoduchým výpočtem 2 na i-tou vytvořte bitovou masku a jejich ANDem (operace & ) zjistíte zda je tam jednička nebo ne.
2a) je jednička? Pak podle popisu provede násobení x číslem a (avšak v modulu zn) tedy
x = (x*a)%zn;
2b) je nula? neděláme nic
2c) ještě musíme ošetřit stav 's', a při rychlém pohledu do řetězce v příkladu je jasné, že znak 's' následuje za každým znakem, kromě posledního. Tedy pokud pracujeme s jiným než posledním znakem, provedeme navíc krok x na druhou opět v modulu zn
x = (x*x)%zn;
Když takto projdeme všechny bity čísla b, máme v x uložený výsledek.
---
Algoritmus Vám samozřejmě mohu poslat, ale samotné řešení bez jeho pochopení Vám v dlouhodobém výhledu stejně nepomůže.
ahadiel@centrum.cz )
public class Mocnina {
public static void main(String[] args) {
java.util.Scanner in = new java.util.Scanner(System.in).useLocale(java.util.Locale.US);
for (; ; ) {
System.out.println("Zadej dvě celá čísla: ");
int m = in.nextInt();
int n = in.nextInt();
int mocnina = 1;
int nn = n;
int mm = m;
while (nn > 0) {
if (nn % 2 == 1) {
mocnina = mocnina * mm;
}
mm = mm * mm;
nn = nn / 2;
}
System.out.println(m + " na " + n + " = " + mocnina);
}
}
}
Ovsem nevim si rady s temi bity, zbytkovou tridou Zn. Celkove se mi zda, ze je to celkem neumerne nasim schopnostem, jelikoz 90% tridy v Jave pred 2 tydny teprve zacalo, vcetne me. Mam ale vybornou knizku, tak se snad moje schopnosti brzy rozsiri.
Moc Vám děkuji za ochotu.
public static long MetodaOpakovanychCtvercu(long a, long b, long zn){
// zjistíme počet bytů mocnitele (parametr b)
int pocetBitu = Long.toBinaryString(b).length();
// inicializace výsledkové proměnné
long x = 1;
// procházení čísla
for(int i=pocetBitu-1; i>=0; i--){
// Spočítáme bitovou masku pro i-tý bit
long mask = Math.round(Math.pow(2, i));
/* je-li i-tý bit čísla b 1 provedeme operaci pro znak '1'*/
if((b & mask) == mask )
x = (x*a)%zn;
/* pokud se nejedná o poslední bit, provedem operaci znak 's' */
if(i > 0)
x = (x*x) % zn;
}
return x;
}
long mask = Math.round(Math.pow(2, i)); long mask = 1l << i;
tohle jsme také dělali.
Tiskni
Sdílej: