Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.
Firma Murena představila /e/OS verze 2.0. Jde o alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).
Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.
HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.
BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.
Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.
Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.
V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.
Řešení dotazu:
#include <iostream> int find_gcd(int a, int b) { return b == 0 ? a : find_gcd(b, a % b); } int main(int argc, char **argv) { int numerator = 6; int denominator = 4; int gcd = 1; while ((gcd = find_gcd(numerator, denominator)) != 1) { numerator /= gcd; denominator /= gcd; } std::cout<<numerator <<"/" <<denominator <<std::endl; return 0; }
find_gcd()
úplně zbytečně volat podruhé. Takže ten cyklus jen překáží, kdyby tam místo while
bylo napsáno if
, bude kód fungovat také a navíc bude efektivnější.
Vy mě fakt jednou zabijete!while ((gcd = find_gcd(numerator, denominator)) != 1)
Takže ten cyklus jen překáží, kdyby tam místo while bylo napsáno if, bude kód fungovat také a navíc bude efektivnější.Ale nebude splněno zadání Pomocí cyklu while…
find_gcd()
místo machrování s rekurzí a doufání, že z ní překladač ten cyklus udělá…
gcd = 1
inicializovaná na hodnotu 1? Vždyt se v cyklu pořád přepisuje.
ok, pro pevně dané hodnoty jednoho zlomku
Pro kterékoli hodnoty.
Ale stejně mi není jasné proč je ta proměnná inicializovaná zrovna na jedničku.
Ono je úplně jedno, na co je inicializovaná (a jestli vůbec), protože první použití té proměnné je stejně přiřazení do ní. Takže nemá ani smysl hloubat nad tím, proč ta či ona hodnota.
Tiskni Sdílej: