Počítačová hra Factorio (Wikipedie) nově běží nativně na ARM64 Linuxu a headsetu Steam Frame.
Fugleramme, v překladu 'ptačí rámeček', je open-source projekt postavený na Raspberry Pi, který pomocí lokální umělé inteligence BirdNET-Go rozpoznává ptačí druhy podle jejich zpěvu a na displeji následně zobrazuje koláž tvořenou odpovídajícími ilustracemi. Databáze obsahuje přes 800 ručně vybraných historických přírodovědných ilustrací více než 400 druhů ptáků.
… více »Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 18.0. Přidáno bylo 13 007 nových znaků. Celkově jich je 172 808. Přibylo 9 nových Emoji.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 169 (pdf).
Byla vydána nová verze 6.4 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.
Německý kancléř Friedrich Merz (CDU) se během debaty s finalisty studentské vědecké soutěže Jugend forscht vyjádřil pro konec anonymity na internetu a vyslovil názor, že pro uživatele Internetu by měla platit podobná právní odpovědnost jako pro novináře tradičních médií. Na dotaz studenta, jak by se tedy povinnost uvádět pravé jméno slučovala s prací investigativních novinářů nebo ochranou jejich zdrojů, Merz neodpověděl, ve své
… více »Společnost Fujitsu představila FUJITSU-MONAKA CPU a Fujitsu MONAKA Server. Navrženo, vyvinuto a vyrobeno v Japonsku. Pro suverénní AI infrastrukturu.
Předprodej v květnu představených notebooků Googlebook, nástupců notebooků Chromebook, bude spuštěn v pondělí 21. září.
Byla vydána betaverze Fedora Linuxu 45 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 20. října. S konzolí kmscon místo fbcon. Současně byla vydána betaverze Fedora Linux Asahi Remixu 45. S podporou čipů M3.
Po půl roce vývoje od vydání verze 50 bylo vydáno GNOME 51 s kódovým názvem "A Coruña" (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře. Videopředstavení na PeerTube a YouTube.
Řešení dotazu:
nakopnuti:
bud nahodny vyber z pole/monziny, kde pocet vyskytu nejakeho prvku je umerny vaze prvku
nebo udelat nejakou prevodni funkci
int prvky[N],vahy[N];
int rnd2index(int rnd) {
int i,tmp = 0;
for(i=0;i<N;i++) if((tmp+=vahy[i])>=rnd) break;
return i;
}
rnd je generovano od 0 do suma(vahy)
vlastne od 1 do suma(vahy)
nebo nahradit >= za > a pak od 0 do suma(vahy)-1
hm je tam chyba ...
oprava:
int prvky[N],vahy[N];
int rnd2index(int rnd) {
int i,tmp = 0;
for(i=0;i<N;i++) {
tmp+=vahy[i];
if(tmp>rnd) break;
}
return i;
}
no myslel jsem to nejak takhle:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int suma(int j, int* p) {
int i=0,tmp=0;
for(;i<j;i++) tmp += *(p+i);
return tmp;
}
int weightedrnd(int j, int* values, int* weights) {
int i=0,tmp=0,sum=suma(j, weights),rnd=rand();
for(;i<j;i++) {
tmp += weights[i];
if(tmp>rnd%sum) break;
}
return *(values+i);
}
int main(int argc, char** argv) {
int i,*v,*w;
if (argc<=2 || !argc%2) return -1;
int n = argc/2-1;
v = (int*) malloc(sizeof(int)*n);
w = (int*) malloc(sizeof(int)*n);
for(i=0;i<n;i++) {
v[i] = atoi(argv[i*2+2]);
w[i] = atoi(argv[i*2+3]);
if (w[i]<=0) {
free(v);
free(w);
return -2;
}
}
/*for(i=0;i<n;i++) printf ("v:%d w:%d\n", v[i], w[i]);*/
srand(time(NULL));
for(i=0;i<atoi(argv[1]);i++) printf ("%d ", weightedrnd(n,v,w));
free(v);
free(w);
return 0;
}
Tiskni
Sdílej: