Open source webový aplikační framework Django slaví 20. narozeniny.
V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.
Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.
Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.
Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.
Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.
Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.
Ř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: