Multimediální přehrávač mpv byl vydán ve verzi 0.42.0. Jde o větší balík změn po bezmála roce. Mimo jiné se lépe integruje s Waylandem nebo rozšiřuje podporu DVD/Blu-ray, např. umožňuje přehrávat rovnou obrazy médií (soubory iso).
Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.5.0. Přehled novinek v poznámkách k vydání.
Byla vydána (𝕏) nová verze 8.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.
Byla vydána verze R14.1.7 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Bazzite (Wikipedie), tj. linuxová distribuce vycházející z Fedora Linuxu a optimalizována pro hraní počítačových her, byla vydána ve verzi 45. S Open Gaming Collective (OGC) jádrem a novým Easy Anti-Cheatem pro Linux (EAC Linux v2).
MikroTik zveřejnil vlastní bezpečnostní upozornění potvrzující, že zranitelnost linuxového jádra postihuje také RouterOS 7. Jde o use-after-free při zpracování IPv4 TCP spojení s IP options. Zranitelnost se týká provozu směřujícího na TCP službu samotného routeru, nikoli paketů, které router pouze přeposílá. Opraveno v long-term od 7.24.6, v stable od 7.25.1 a devel od 7.26beta5.
Ve správci balíčků APT, používaném v Debianu a odvozených distribucích, byla nalezena a opravena kritická zranitelnost CVE-2026-109518. Vzdálený útočník může obejít ověření stažených balíčků pomocí přesměrování a dočasných chyb HTTP serveru.
Nejvyšší kontrolní úřad (NKÚ) vydal zprávu o finančním řízení prostředků EU v ČR (pdf). Dočíst se lze například, že přes 8 miliard korun na digitální vzdělávání nepřineslo naplnění žádného z prioritních cílů programu. Peněžní prostředky z fondů EU sice byly vynaloženy formálně v souladu s právními předpisy, avšak s minimálním nebo neprokazatelným dopadem na proklamované cíle ve vzdělávání. Na Metodickém portálu RVP.CZ bylo ke konci
… více »Emulátor terminálu kitty (Wikipedie, GitHub) byl vydán v nové verzi 0.50.
Vývojáři C-Kermit oznámili několik dlouhodobě přítomných zranitelností. Patří mezi ně buffer overflow v Telnet/FTP klientovi a command injection v Kermit serveru. Dotčené verze: C-Kermit 11.0.514 a starší. Fix: 11.1.515 [oss-security].
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: