Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-10-2010, 11:06   #1
pare93
Member
 
L'Avatar di pare93
 
Iscritto dal: Jul 2009
Messaggi: 268
[C#] Combinazione semplice

Ragazzi qualcuno riesce a tradurmi la combinazione semplice (n x) oppure nCx in linguaggio C# ... non riesco proprio a darne fuori
Ricordo che (n x) = n! / (x! * (n - x)!)
Grazie mille
pare93 è offline   Rispondi citando il messaggio o parte di esso
Old 10-10-2010, 11:27   #2
Rsk
Senior Member
 
L'Avatar di Rsk
 
Iscritto dal: Dec 2006
Messaggi: 314
Quote:
Originariamente inviato da pare93 Guarda i messaggi
Ragazzi qualcuno riesce a tradurmi la combinazione semplice (n x) oppure nCx in linguaggio C# ... non riesco proprio a darne fuori
Ricordo che (n x) = n! / (x! * (n - x)!)
Grazie mille
Cosa non riesci a fare?
Il fattoriale (!) di N è dato dal prodotto dei primi N numeri interi positivi.
Inoltre il fattoriale di zero è 1.
Se realizzi la funzione che calcola il fattoriale hai finito..
Provaci
__________________
Athlon64 x2 5600 - AsRock ALiveNF5eSata2+ - kingston 2GB ddr2 800 - GeForce 8800gts 320MB
Rsk è offline   Rispondi citando il messaggio o parte di esso
Old 10-10-2010, 11:35   #3
pare93
Member
 
L'Avatar di pare93
 
Iscritto dal: Jul 2009
Messaggi: 268
Ci proverò ancora ma non assicuro niente
pare93 è offline   Rispondi citando il messaggio o parte di esso
Old 10-10-2010, 12:14   #4
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
Quote:
Originariamente inviato da pare93 Guarda i messaggi
Ragazzi qualcuno riesce a tradurmi la combinazione semplice (n x) oppure nCx in linguaggio C# ... non riesco proprio a darne fuori
Ricordo che (n x) = n! / (x! * (n - x)!)
Grazie mille
giusto per la precisione, quello è il binomio di newton, che rappresenta anche il numero di combinazioni semplici di n elementi presi k a k (quindi identificarlo con le combinazioni semplici non è propriamente corretto)

e poi, chiaramente, sarebbe inefficiente calcolare tutti i fattoriali uno per uno, ti conviene cercare un metodo un minimo più furbo, ad esempio sfruttando il fatto che

n!/k! = n * (n - 1) * ... * (n - k + 1)

oppure

puoi prepararti un vettore V di dimensione n+1, in cui poni v[0] = 1 (perché 0! = 1)

e poi calcoli tutte le celle V[i] = i * V[i - 1]

così almeno avrai calcolato tutti i fattoriali che ti servono e potrai calcolare tutto con V[n] / (V[x] * V[n - x])
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 10-10-2010, 18:50   #5
pare93
Member
 
L'Avatar di pare93
 
Iscritto dal: Jul 2009
Messaggi: 268
Si capisco il metodo che vorresti usare ma sinceramente a me sembra troppo lungo e con un grande spreco di memoria.

Domani cerco di sviluppare un algoritmo ... Grazie lo stesso comunque

Inoltre devo dire che la tua idea è molto interessante non ci avrei mai pensato
pare93 è offline   Rispondi citando il messaggio o parte di esso
Old 10-10-2010, 20:37   #6
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
boh sì ma è chiaro che non ti serve a molto in questo caso, ti conviene calcolarli iterativamente

l'unica cosa è stare attenti a non fare prodotti già fatti precedentemente
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2010, 16:58   #7
pare93
Member
 
L'Avatar di pare93
 
Iscritto dal: Jul 2009
Messaggi: 268
In che senso non fare prodotti già fatti in precedenza?

Ad ogni modo ci ho pensato ora a mente lucida ... posto il codice che mi è venetuto.

Premetto che non l' ho testato lo stò facendo al momento perchè sono in un computer della scuola

Ricordo la formula che è nCx = n! / x! * (n - x)!

Codice:
int fattN = n, fattX = x, fattNX = n - x;
double comb;

// Calcolo di n!
for (int i = 1; i <= n; i++)
      fattN *= n - i;

// Calcolo di x!
for (int i = 1; i <= x; i++)
      fattX *= x - i;

// Calcolo di (n - x)!
for (int i = 1; i <= (n - x); i++)
      fattNX *= (n - x) - i;

// Infine calcolo la combinazione semplice
comb = fattN / fattX * fattNX;
Ecco credo sia giusto ma il problema non è finito qui
Infatti io ero partito nel calcolare il valore atteso in una distribuzione binomiale ... ci proverò dai ...
pare93 è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2010, 17:11   #8
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
non va! così ti fai 3 fattoriali che ti puoi facilmente risparmiare con qualche condizione al contorno ed un po' di semplificazioni
Kralizek è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2010, 17:13   #9
astorcas
Senior Member
 
L'Avatar di astorcas
 
Iscritto dal: Jan 2005
Città: Siena
Messaggi: 1313
Mai sentito parlare di memoizzazione (in english memoization)?

Basterebbe l'esempio su wikipedia per chiarirti cosa ti stanno suggerendo gli altri
astorcas è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2010, 18:03   #10
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
Quote:
Originariamente inviato da pare93 Guarda i messaggi
In che senso non fare prodotti già fatti in precedenza?

Ad ogni modo ci ho pensato ora a mente lucida ... posto il codice che mi è venetuto.

Premetto che non l' ho testato lo stò facendo al momento perchè sono in un computer della scuola

Ricordo la formula che è nCx = n! / x! * (n - x)!

Codice:
int fattN = n, fattX = x, fattNX = n - x;
double comb;

// Calcolo di n!
for (int i = 1; i <= n; i++)
      fattN *= n - i;

// Calcolo di x!
for (int i = 1; i <= x; i++)
      fattX *= x - i;

// Calcolo di (n - x)!
for (int i = 1; i <= (n - x); i++)
      fattNX *= (n - x) - i;

// Infine calcolo la combinazione semplice
comb = fattN / fattX * fattNX;
Ecco credo sia giusto ma il problema non è finito qui
Infatti io ero partito nel calcolare il valore atteso in una distribuzione binomiale ... ci proverò dai ...
il valore atteso della binomiale di parametri n p (n lanci con probabilità di successo p) è np

basta pensarla come n eventi A1 .. An che indicano che all'estrazione i-esima c'è un successo.. dunque puoi prendere in considerazione le variabili indicatrici degli eventi Ai, che hanno tutti probabilità di successo p e sono scambiabili, quindi la media è np

per quanto riguarda il calcolo del fattoriale (che non serve, se quello che devi fare è la media della binomiale) quando dicevo che non dovresti fare prodotti già fatti intendo dire che per calcolare (n-k)! in pratica fai

1*2*...*(n-k)

e per calcolare n!

1*2*...*(n-k)*..*n! = (n-k)!*...*n

ecco, non vale la pena fare due volte questi prodotti (il discorso si estende anche a k!)

Ultima modifica di tuccio` : 11-10-2010 alle 18:06.
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 12-10-2010, 16:36   #11
pare93
Member
 
L'Avatar di pare93
 
Iscritto dal: Jul 2009
Messaggi: 268
Bè da ma punto di vinta sintattico i duo metodo sono praticamente identici ... sono sompre tre cicli for che vanno da 1 ad n.

Ad ogni modo la speranza matematica in una distribuzione binomiale è data anche dalla sommatoria delle P(X=x) che va da zero ad n.

Quindi avevo pensato anche all' eventualità che l' utente non inserisca 'p' e di conseguenza calcolerei la media con la sommatoria.

Quindi una soluzione logica l' avei già trovata ... scompongo il valore atteso in :
sommatoria della combinazione semplice per la sommatoria della p^x per la sommatoria della q^(n-x). In questo modo risulta molto semplice secondo me tradurla.

Comunque ora ti espongo queste idee ma in questi giorni non ho possibilità di provarla ...
pare93 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
Le auto elettriche volano in tutta Europ...
Nuovo look per la finestra Esegui su Win...
Rad Power Bikes è in bancarotta: ...
Cronos: The New Dawn diventa più ...
Riot Games alza lasticella dell'anti-che...
Netflix dice addio a 111 titoli original...
Samsung prepara un foldable più l...
Nintendo Switch 2: in arrivo cartucce pi...
Evento storico: la prima squadra di robo...
Fallito il lancio del razzo spaziale nip...
Truffa RAM: moduli DDR4 spacciati per DD...
Bureau 1440 mostra un'immagine di un sat...
Revocati i premi a Clair Obscur: Expedit...
Robotaxi Tracker, un 19enne ha scoperto ...
Il razzo spaziale riutilizzabile cinese ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:53.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v