![]() |
Re: Qualche quiz
Quote:
Qui la "forza bruta" serve poco. Si tratta di svolgere alcuni passaggi su formule .. generalizztate, astratte. [x qualsiasi, perfino complesso (non reale); n intero positivo qualsiasi.] Ma dopo ... ti accontento con qualche facile esempio. Quote:
=> "Ho fatto una bella figura", # 1 => "Ho fatto una bella figura", # 42 => "Ho fatto una bella figura", # 60 => "Ho fatto una bella figura", # 63 => "Ho fatto una bella figura", # 63 => "Ho fatto una bella figura", # 71 => "Ho fatto una bella figura", # 83 => "Ho fatto una bella figura", # 88 => "Ho fatto una bella figura", # 103 Quote:
Adesso ti faccio vedere come si può ricavare la formula della somma dei termini di una progressione geometrica di ragione x e termine iniziale 1 fino al termine x^n. Diciamo G(x, n) questa somma. Sia cioè, per qualsiasi n intero positivo e per qualsiasi x: G(x, n) = 1 + x + x^2 + x^3 + ... + x^k + ... + x^n. Ossia: G(x. n) = <Somma, per k da 0 ad n, di x^k>. Codice:
n Se x è diverso da 1 ... faccio due tipi diversi di scherzetto elementare su G(x, n+1) e confronto i risultati. a) Isolo l'ultimo termine di G(x, n+1) e sommo gli altri. G(x, n+1) = (1 + x + x^2 + ... + x^n) + x^(n+1) = G(x,n) + x^(n+1). (*) b) Sempre su G(x, n+1), isolo il primo termine (che è 1), raccolgo x a fattore comune dai termini che seguono e faccio la somma dei loro quozienti. G(x, n+1) = 1 + x·(1 + x + x^2 + ... + x^n) = 1 + x·G(x, n). (**) Confrontando (*) con (**), vedo che devono essere uguali gli ultimi membri , cioè G(x, n+1) = G(x, n) + x^(n+1) = 1 + x·G(x, n) L'ultima uguaglianza è una equazione nella incognita G(x, n). Mi ... metto a risolverla trovando: G(x, n)·(1 – x) = 1 – x^(n + 1) ––> G(x, n) = [1 – x^(n + 1)]/(1 – x). Se vogliamo restare nell'ambito di numeri positivi (e quindi supponiamo x positivo), quella appena scritta va bene per x < 1. Per x >1 cambiamo segno sia al numeratore che al denominatore ottenendo. G(x, n) = [x^(n + 1) – 1]/(x – 1). Queste formule non vanno bene per x = 1 perché diventano 0/0. [Ma allora A(1, n) = n+1]. Proviamo a ragionare in modo analogo sulla formula dell'incognita S(x, n). Se x = 1 allora S(1, n) = 1 + 3 + 5 + ... + (2n – 1) = n^2. Se x = – 1 allora S(–1, n) = –[1 + 3 + 5 + ... + (2n – 1)] = – n^2. Se x è diverso sia da 1 che da – 1 allora.. facciamo su S(x, n+1) i due tipi di scherzetto analoghi a quelli per il calcolo della progressione geometrica G(x, n+1) a) Isolo l'ultimo termine e penso alla somma di tutti i precedenti. b) Salto il primo termine (che è x) e sottraggo poi x^3 da 3·x^3, x^5 da 5·x^5, ..., x^(2n+1) da (2n+1)·x^(2n+1). Raccolgo poi x^2 da quel che miresta. Infine mi ricordo della formula della progressione geometrica (ricavata qui sopra ... che però in questo caso ha x^2 al posto di x). Codice:
a) ![]() ––– :hello: |
Re: Qualche quiz
Bravo! :ok:
Ho controllato la tua formula ed effettivamente funziona, perché trovo gli stessi risultati trovati in precedenza, eccetto che per x=1, come avevi previsto. :) Quote:
n= 2 0 0 1 Non un numero reale 2 26 3 84 4 196 5 380 n= 3 0 0 1 Non un numero reale 2 186 3 1299 4 5316 5 16005 n= 4 0 0 1 Non un numero reale 2 1082 3 16608 4 120004 5 562880 Per risolvere il problema di x=1 bisogna però scrivere un mini-programma. Quote:
:hello: PS Sono andato a vedere cosa succede con dei valori per x molto vicini ad 1, come ad esempio x= 1 + 1E-6 e per i vari n da 2 a 4 ho trovato questi valori: 2 4,00012955789642 3 8,99990292759688 4 16,0000741428199 Ossia dei valori molto vicini a n^2. Però se cerco di usare un valore ancora più vicino ad 1 , come ad esempio x= 1 + 1E-7, i risultati che ottengo, invece di essere più vicini ad n^2 peggiorano. 2 4,01900694287046 3 8,99280559040075 4 16,0094143967381 Quindi anche se teoricamente sono solo i valori di x=1 e di x=-1 che dovrebbero dare dei problemi, in pratica anche dei valori molto prossimi ad 1 e a - 1 sono problematici. Ma questo, come al solito, dipende dalle limitate capacità di calcolo dei computer. :hello: |
Re: Qualche quiz
Quote:
Il denominatore è (1 – x^2)^2. Se dunque x differisce da 1 (in valore assoluto) di ∆, molo poco, per esempio x = 1+∆, il denominatore vale [1 – (1 + ∆)^2] = [1 – (1 + 2∆ + ∆^2)]^2 = [2∆·(1+ ∆)]^2 = 4·(∆^2 )·(1 + 2∆ + ∆^2). Se ∆ è piccolo, per esempio un milionesimo, il denominatore è circa 4·E-12 (4 millesimi di miliardesimo). Il numeratore sarà circa n^2 volte questo piccolissimo numero. Se allora e fai i calcoli con un numero di cifre binarie che corrispondono 14 cifre significative decimali, di cui l'ultima è ... a stima (frutto di arrotondamento), non puoi aspettarti precisioni maggiori di una o due cifre significative. Quote:
Se hai due numeri molto prossimi uno all'altro, con differenza molto minore di 1 (cioè fatta da uno zero seguito da un certo numero m di zeri prima di avere cifre diverse da zero), quella differenza è ridotta in precisione, perchè se lavori con n cifre significative quella differenza di cifre significative ne ha invece n–m. Quando fai il rapporto tra numeri di per sé poco precisi, il rapportoviene ancora meno preciso. –––– :hello: |
ı
Sono date le serie:
a) S1 = 1/9 –1/(2·9^2) + 1/(3·9^3) –1/(4·9^4)+1/(5·9^5) – 1/(6·9^6) + ... = = <Somma, per k da 1 a ∞, di [(–1)^(k–1)]/(k·9^k); b) S2 = 1/10 +1/(2·10^2) + 1/(3·10^3) –1/(4·10^4)+1/(5·10^5) + 1/(6·10^6) + ... = = <Somma, per k da 1 a ∞, di 1/(k·9^k). Le riscrivo ... Codice:
1 1 1 1 ∞ Dimostrare, – senza usare la "forza bruta" :mad: – che le due serie convergono al medesimo limite L. ––––––– :hello: P.S. Aggiungo una domandina: :) «Quanto vale L ?» |
Re: ı
Quote:
:hello: |
Re: ı
Quote:
------------ Però ... sei anche tu taccagno (di spiegazioni) come Miza? ---------- Dimmi almeno se hai pensato (anche tu) ... così come ti mostro: Premessa Sia –1 < x ≤ 1. E' noto che allora: ln(1+x) = x – (x^2)/2 + (x^3)/3 – (x^4)/4 + ... = <somma, per k da 1 a +∞, di [(–1)^(k–1)]·(x^k)/k. Clou del quiz 1 + x = (1+x)/[(1 + x) – x] = 1/[1 – x/(1+x)]. Posto y = x/(1+x), per x = 1/9 viene y = 1/10. [Da cui: S1= ln(1+1/9) = ln(10/9) = –ln(9/10) = –ln(1 – 1/10) = S2] ––– :hello: |
Re: ı
Quote:
Io so solo che per le serie geometriche 1 + x + x^2 + ... x^n con |x| < 1 la somma, cioè il limite per n ---> infinito della sommatoria da k=0 a k=n di x^k è = 1/(1 - x) Quindi, se avessimo: 1 + 1/10 + 1/10^2 +1/10^3 + .... = la somma sarebbe = 1/(1-1/10) = 10/9 e senza il primo termine è = 1/9 Ora, la somma della tua serie (S2) è minore di 1/9 (e maggiore di 1/10 di S1), perché dopo 1/10, i termini da sommare sono minori (di 1/2, 1/3, 1/4, ...) rispetto alla serie geometrica. Non sapendo che fare... :D ho sommato qualche termine di S1 e S2 e mi sono accorto subito che il limite per entrambi è ln(10/9). D'altronde, la somma di: 1/(1*2^1) + 1/(2*2^2) + 1/(3*2^3) + 1/(4*2^4) + ... e (quest'altra la so!, ovviamente 1^n è sempre = 1) 1/(1*1^1) - 1/(2*1^2) + 1/(3*1^3) - 1/(4*1^4) + ... tendono entrambe a ln(2), cioè a ln(2/(2-1)) :hello: |
Re: ı
E sarei io quello dai ragionamenti contorti! :mad:
----------- Quote:
Come t'è venuto in mente il logaritmo? ----------------- Beh ... se dalla scuola ti ricordi che la serie geometrica 1 + x + x^2 + x^3 + ... tende a 1/(1–x) quando |x| è minore di 1, ti ricorderai anche, [suppongo], che la derivata di x^n è n·x^(n–1). [Regoletta: metti un fattore pari all'esponente e cala di una unità l'esponente]. Come ti ricordi della serie geometrica, così potresti collegare il logaritmo naturale alla serie geometrica. Fare il rovescio di quello che si fa per derivare (e quindi ... farlo anche nell'ordine inverso) significa integrare, ossia trovare qualcosa che abbia per derivata la data funzione. Allora Derivare x^n –––> (a) Mettere n per fattore e (b) calare di 1 l'esponente –––> d(x^n)/dx = n·x^(n–1) Integrare x^n –––> (a) Aumentare di 1 l'esponente e (a) mettre l'esponente [nuovo] come divisore: ∫x^n dx = [x^(n+1)]/(n+1). Che serie è, allora, quella che ha per derivata la serie geometrica? Elementare, Watson! Codice:
d d ------------ :hello: |
Re: ı
Quote:
Tanti... anni fa, alcuni logaritmi li sapevo a memoria, e gli altri mi divertivo a calcolarli a mente. Ricordo ancora benissimo che il logaritmo naturale dei numeri prossimi all'unità è quasi uguale alla parte decimale dello stesso numero (infatti, ad es., e^0,0056 = circa 1,0056) Quindi, avendo come somma della serie geometrica 1/9 (=0,1111...) e 10/9 (=1,1111...), la prima cosa che m'è venuta in mente come soluzione del tuo problema (un po' diverso dalla serie geometrica) è stato di fare il logaritmo di 10/9. :hello: |
Re: Qualche quiz
Sentito su un tram
Persona A: «Ho un certo numero (intero positivo, ovvio...:D) di figli, le cui età (in anni) sono numeri interi (positivi, ovvio) . La somma dell'età dei miei figli è uguale al numero di questo tram, mentre il prodotto è uguale alla mia età.» Persona B: «Interessante! Magari, se tu mi dicessi la tua età e il numero dei tuoi figli, potrei ricavare le loro età.» Persona A: «No, questo non è possibile (cioè, anche se ti dicessi la mia età e il numero dei miei figli, non riusciresti a sapere quanti anni hanno)» Persona B: «Ahah! Mumble, mumble... ADESSO so quanti anni hai!» Chi riesce ad indovinare qual è il numero del tram ove si è svolto questo colloquio (e anche l'età di A)? ---------- - Sono ammessi gemelli o comunque più figli con la stessa età. - La soluzione è unica :hello: |
Re: Qualche quiz
I figli sono più di due.
Se sono tre, o non ci sono gemelli (e allora le incognite sono tre) oppure due sono gemelli ma la soluzione non è unica ----------------- Detta E l'età di A e T il numero del tram: • Se i figli fossero due di età x e y (con x ≤ y) si avrebbe: x+y = T e xy = E ––> x = [T – √(T^2 – 4E)]/2 e y = [T + √(T^2 – 4E)]/2 [Gemelli se T^2 = 4E] • Se i figli fossero tre ma due fossero gemelli, questi di età x e l'altro di età y si avrebbe: 2x + y = T e (x^2)·y = E ––> (x^2)·(T– 2x) = E <––> –2· x^3 + T·x^2 = E. e y = T – 2·x. Ma A dice a B: Quote:
Però ... non chiede di calcolarla ma di indovinare il numero del tram. Io provo, a sentimento, ad indovinare l'età di A. Facciamo 36 anni? :mmh: [Per l'età E di A sono da escludere numeri primi e numeri con soli due o tre fattori, se no dalla conoscenza di E e di T si verrebbe a sapere l'età dei figli]. Il numero T del tram potrebbe essere 14. I figli potrebbero essere 4 ... e le loro età essere incerte ( potendo essere [1, 1, 6, 6] o anche [1, 2, 2, 9]). Ci stanno sempre gemelli ... Ma questo mi pare suggerito dallo stesso aspesi col menzionare che non sono da escludere! ;) –––––––– :hello: |
Re: Qualche quiz
Quote:
Quote:
No. Quote:
'60 ed è stato proposto da Tanya Khovanova sul numero 35 del 2013 del Mathematical Intelligencer. :hello: |
Re: Qualche quiz
B ha due dati: uno certo è il numero del tram perché se ci è salito lo conosce senz'altro, e l'altro all'incirca che è la faccia di A che vedendolo può escludere che abbia per esempio 70 anni ed anche che ne abbia 16 . In tal senso bisogna poi ragionare e come già sapete io non mi voglio sforzare + di tanto.
Facciamo circa 30 l'età di A? Allora il tram potrebbe essere il 12 e i bambini hanno 6;5;1 che va bene perché si può avere il primo figlio a 24. Ciao |
Re: Qualche quiz
Quote:
Quote:
E che ne sappiamo noi di quando si fanno i figli sugli altri pianeti? :D Senza contare che non conosciamo neanche il periodo di rivoluzione di quel pianeta attorno al suo sole.... per cui non si può escludere, ad es., che là i genitori possano riprodursi magari anche prima di aver compiuto un anno. Quote:
:hello: |
Re: Qualche quiz
Quote:
:ok: Debbo complimentarmi con te, finalmente un quiz esposto in modo chiaro! Non avrai mica copiato? :hello: |
Re: Qualche quiz
Quote:
Che forse potresti con la forza bruta esaminare tutti i casi possibili (e quindi trovare la soluzione) :hello: |
Re: Qualche quiz
Penso di aver trovato la soluzione:
Tram n.13 Età del padre 36 anni Numero dei figli 3 Possibili età dei figli: 6, 6, 1 oppure 9, 2, 2 :hello: |
Re: Qualche quiz
Quote:
Ad esempio, il tram potrebbe essere il n. 16, e in questo caso l'età del padre dovrebbe essere di 90 anni, e l'età dei figli potrebbero essere 9, 5, 2 oppure 10, 3, 3 e questo vorrebbe dire che è diventato padre per l'ultima volta all'età di 87 anni o 88 anni. Perché porre limiti alla divina provvidenza? Inoltre qualche maligno potrebbe pensare che i figli non siano effettivamente suoi, come spesso capita. :D :hello: |
Re: Qualche quiz
Mi sa che c'è un trucco da qualche parte...
Leggendo e rileggendo il dialogo deve saltare fuori. |
Re: Qualche quiz
Quote:
Quote:
Quote:
Non avevo letto queste cose! Allora mi sa che ho sbagliato! :o |
Re: Qualche quiz
Quote:
Analizzando: 1)Bisogna scoprire numero tram ed età della persona. 2)L'età ed il numero dei figli è irrilevante (ed impossibile da determinare). Come diceva il Brucaliffo: "Bel Garbuglio".... Però forse sono sulla strada buona, ora non ho tempo è ora di tornare a casa... ;) |
Re: Qualche quiz
Quote:
Se il tram fosse il n.13, ci sarebbero 2 casi con 3 figli (quelli trovati da te) e allora il padre avrebbe 36 anni, ma anche altri 2 casi con 5 figli (4-4-3-1-1 e 6-2-2-2-1) e allora il padre avrebbe 48 anni. E, sul tram 13, B non potrebbe rispondere "Adesso so quanti anni hai". :hello: |
Re: Qualche quiz
Sto aspettando una risposta dal PC per vedere cosa succede se il tipo ha 8 figli...
Mah... |
Re: Qualche quiz
Quote:
Quote:
Quello che non si riesce a determinare è l'età reale dei figli di A (perché la loro somma e il loro prodotto non sono univoci; però, con quel numero del tram, c'è un caso solo che contempla una stessa somma e prodotto.). :hello: |
Re: Qualche quiz
Quote:
:hello: |
Re: Qualche quiz
Quote:
Quote:
|
Re: Qualche quiz
Provo a farla semplice, i figli sono solo 2.
L'età dei figli è un numero intero positivo, sicuramente minore dell'età del genitore Il numero del tram è un numero intero positivo >1 e sicuramente minore dell'età dell'uomo, ci sono casi estemi ma non credo che rientrino. L'ètà dell'uomo la pongo in un range 18-100 anni. Il numero del tram sarà in un range 2-99. Parto dall'equazione di secondo grado ax^2 + bx + c. Che può essere scritto come x^2 -x(n1 +n2) +n1n2 Le due radici sono sicuramente due numeri interi positivi, quindi con un po' di forza bruta dico: Tram (Somma=17), Età (Prodotto=52), Primo Figlio (n1=13), Secondo Figlio (n2=4). |
Re: Qualche quiz
Quote:
Se i figli fossero 2 l'affermazione del padre sarebbe errata, perché il passeggero che ovviamente conosce il numero del tram su cui si trova, venendo a sapere che i figli sono due e l'età del padre, sarebbe in grado di stabilire l'età dei figli. :hello: PS Per tua "consolazione" ti informo che non ci sono arrivato con un ragionamento, ma che l'ho verificato al computer. ;) Ho verificato cosa accade per diverse età del padre, e per diverse combinazioni di età dei figli. Se i figli sono solo due, a ciascuna combinazione di E(padre) E(figlio1) E(figlio2) corrisponde sempre un unico Tram. Per cui il passeggero sarebbe in grado di fare effettivamente ciò che afferma di poter fare, ossia potrebbe individuare con certezza l'età dei due figli. |
Re: Qualche quiz
@Astromauh
Peccato, quella soluzione mi piaceva perché soddisfava anche che il prodotto deve essere maggiore di (18+n1+n2). Errore! basta che sia maggiore di 18+l'età più alta dei figli. P.S. Però con 3 numero ci sono un mucchio di combinazioni "ambigue", forse la soluzione è l'unica non ambigua che suppongo risponda a: 1<=S<=P 1<=P<=100 P>=18+e1. dove e1 è l'età del figlio (o dei figli) maggiore. |
Re: Qualche quiz
Quote:
Quote:
Infatti, se A dice a B la sua età (52) e il numero dei suoi figli (2), B riuscirebbe subito a sapere l'età dei due figli; in quanto con somma 17 e prodotto 52 ci sono solo i due numeri 13 e 4. :hello: |
Re: Qualche quiz
Quote:
La risposta più "vicina" alla soluzione era la tua precedente (padre=36 anni e tram 13), che sarebbe stata ineccepibile se non ci fosse stato l'altro caso ambiguo, sempre con somma 13 (4-4-3-1-1 e 6-2-2-2-1, padre=48 anni). Occorre trovare quella somma (dell'età dei figli, numero del tram) che ha solo un doppio caso di uguale somma dell'età dei figli, qualsiasi sia il numero dei figli. :hello: |
Re: Qualche quiz
Quote:
La soluzione non è nel venir a sapere il numero N di figli e loro età, bensì nel venir sapere l'età E di B e il numero T del tram. La soluzione è proprio la coppia [E, T] per la quale non basta sapere N ed E per venir a conoscere gli N interi positivi che dànno somma T e prodotto E. In un problema che si risolvesse con equazioni, queste conterrebbero "variabili". Ossia: sempre si parte dall'ipotesi che i numeri da trovare siano qualsiasi, [purché dentro un insieme (infinito) ammissibile per la loro natura]. Solo che, nel caso di equazioni, c'è il procedimento algebrico che ci fa "intersecare" automaticamente i sottoinsiemi individuati dalle "condizioni" (espresse appunto dalle equazioni). Qui invece ... le intersezioni di sottoinsiemi individuati dalle condizioni bisogna andar a cercarsele percorrendo gli stessi sottoinsiemi, dato che le "condizioni" non si traducono né in equazioni né in disequazioni (numeriche). Mi pare, allora, che l'approccio a "forza bruta" sia l'unico. ;) [E forza bruta, ... – e diciamo pure "brutta" – sarebbe anche fare a mano (con carta e matita) quello che conviene far fare al computer]. Insomma: Si ipotizza un numero N di figli, una età E ed un numero di tram T. Si considerano le combinazioni [anche con ripetizione] di N interi positivi con somma T e prodotto E (cioè le possibili età degli N figli). Una combinazione si scarta se è unica (a dare per somma T e per prodotto E). Cioè: Si raggruppano le combinazioni a parità di T. Se, per un dato T, c'è una sola combinazione [N, E], si scarta il gruppo. Il problema avrà una sola soluzione oppure più soluzioni oppure nessuna soluzione se resterà un solo gruppo, più gruppi o nessun gruppo. Sarebbe un problema sbagliato non solo se la soluzione non ci fosse, ma anche se restassero più gruppi con lo stesso T ma con diverso E, (dato che B dice di venir a sapere E, e quindi ci informa indirettamente che, dato T, la coppia–soluzione [E, T] c'è ed è unica). –––– :hello: |
Re: Qualche quiz
Quote:
Quote:
:hello: |
Re: Qualche quiz
Grosso aiuto:
Per trovare la soluzione, bisogna esaminare per i vari numeri (di tram), fra tutte le possibili addizioni che lo danno come somma, qual è quello che ne ha *solo due* con lo stesso numero di addendi e lo stesso prodotto. Chi ci capisce di programmazione (io no!) può approfondire qui: http://theory.cs.uvic.ca/inf/nump/NumPartition.html Ma soprattutto qui: http://forum.masterdrive.it/blogs/m-...-addizioni-67/ http://www.math.mtu.edu/~kreher/cages/Src.html Il primo file zippato, GEN.tar, nel file IntegerPartitions.c, contiene l'algoritmo che serve. Non ci ho capito nulla, lo riporto (da un messaggio di Tommaso Russo su ISM): /* ** partitions.c */ /* ** October 1, 1997 ** This program implemented Algorithm 3.1 - 3.9 ** from "Combinatorial Algorithms" ** Donald L. Kreher - Douglas Stinson ** CRC press, 1999 ** ** Modified by TRu-TS on april 7, 2014 ** for another purpose ** */ #include<stdio.h> #include<stdlib.h> #define false 0; #define true 1; #define Min(x,y) ((x<y)?x:y) typedef struct partitionnode { int m; int numparts; int parts[101]; } partition; int Pn[40][40]; int P[50]; void output(partition a) /* ** print out the partition a */ { int i,j, prod; printf("%d = ",a.m); prod = 1; for(i=1;i<=a.numparts;i=i+1) { j = a.parts[i]; prod = j*prod; printf("%d",j); if (i != a.numparts) printf("+"); else printf(" prod = %d",prod); } } void RecPartition(partition a, int m, int B, int N) /* ** See Algorithm 3.1 ** generate all partitions with largest part of size at most B ** recursive procedure used in other procedures */ { int i; if(m==0) { a.numparts = N; output(a); printf("\n"); } else { for (i=1;i<=Min(B,m);i=i+1) { a.parts[N+1] = i; RecPartition(a,m-i,i,N+1); } } } void EnumPartitions(int m, int n ) /* ** Algorithm 3.5 ** compute the partition numbers P[i] and P[i,j] for i <= m, j <= n */ { int i,j; Pn[0][0] = 1; P[0] = 1; for(i=1;i<=m;i=i+1) Pn[n][0]=0; for(i=1;i<=m;i=i+1) { for (j=1;j<=Min(i,m);j=j+1) { if (i < (2*j)) Pn[i][j] = Pn[i-1][j-1]; else Pn[i][j] = Pn[i-1][j-1] + Pn[i-j][j]; P[i] = P[i] + Pn[i][j]; } P[i] = 0; for(j=1;j<=m;j++) P[i] = P[i] + Pn[i][j]; } } int PartitionLexRank(int m,int n,partition a) /* ** Algorithm 3.8 ** find the rank of partition a, ** where a is given in standard form */ { int i,r; partition b; EnumPartitions(m,n); b = a; m = b.m; n = b.numparts; r = 0; while (m > 0) { if (b.parts[n] == 1) { m = m-1; n = n-1; } else { for(i=1;i<=n;i=i+1) b.parts[i] = b.parts[i] - 1; r = r + Pn[m-1][n-1]; m = m-n; } } return(r); } void PartitionLexSuccessor(int m,int n,partition *a,int *flag) /* ** Algorithm 3.7 ** replaces the partition a by its successor, ** where a is given in standard form */ { int i,j,d; i = 2; while( (i<=n) && ((*a).parts[1]<=((*a).parts[i]+1)) ) i=i+1; if(i == (n+1)) { *flag = false; } else { (*a).parts[i] = (*a).parts[i] + 1; d = -1; for(j=(i-1);j>=2;j=j-1) { d = d + (*a).parts[j] - (*a).parts[i]; (*a).parts[j] = (*a).parts[i]; } (*a).parts[1] = (*a).parts[1] + d; } } int main() { int m,n,i,j,r,s,num; int flag; partition a; char junk; for (m=1;m<=40;m=m+1) { for (n=1;n<=m;n=n+1) { printf("\nTest of Algorithm 3.7 with m=%d n=%d \n",m,n); a.m = m; a.numparts = n; a.parts[1] = m-n+1; for(i=2;i<=n;i=i+1) a.parts[i] = 1; flag = true; while(flag) { output(a); printf("\n"); r=PartitionLexRank(m,n,a); PartitionLexSuccessor(m,n,&a,&flag); } } printf("\nEnd\n"); } return(0); } |
Re: Qualche quiz
Quote:
Sono intervenuto per primo su questo quiz. E le prime parole che ho scritto... eccole qua: Quote:
Quote:
:hello: |
Re: Qualche quiz
Quote:
Ossia. Fissato un T (numero di tram), esamino le combinazioni di età (dei figli) al variare di E (età di A) e di N (numero di figli). Quindi ho (teoricamente) dei sottoinsiemi "targati" con un numero T ciascuno dei quali è suddiviso in sottoinsiemi "targati" con una delle coppie [N, E]. Come ho detto, scarto le combinazioni che non hanno "sorelle", ciioè sono "figlie uniche" della coppia [N, E]. Il che equivale a scartare le coppie [N(T), E(T)] (di ciascun T) con una sola [combinazione] figlia. [E quindi, come ho pure detto, a scartare l'intero sottoinsieme targato con certo T se alla fine resta "vuoto"]. Sono attesi uno o più sottoinsiemi [targato/i con il proprio T] contenenti a loro volta ciascuno uno o più sottoinsiemi targati [N(T), E(T)] ma allora con E(T) costante. Ogni sottoinsieme [N(T), E(T)] deve avere "almeno due" elementi- E' ovvio mi bastano DUE sole [combinazioni] figlie della coppia [N(T), E(T)] per NON scartarla. ––– :hello: |
Re: Qualche quiz
Quote:
Provo a sparare un'altra soluzione: Padre 48 anni, figli 4, Tram n. 12 Con questi dati non si può conoscere l'età dei figli, ma mi sembra sia l'unica che coinvolge il tram 12, per cui il passeggero dalla risposta che ha ricevuto può stabilire che il padre ha 48 anni. |
Re: Qualche quiz
Quote:
Possibile età dei figli? :hello: (Hai capito qualcosa del listing che ho riportato?) |
Re: Qualche quiz
Quote:
a= 6 b= 2 c= 2 d= 2 P= 48 Tram 12 La risposta alla seconda domanda è NO. :hello: |
Re: Qualche quiz
Perlomeno avevo indovinato il tram.
Se i figli hanno 6 4 2 ci sono andato vicino perché avevo detto 6 5 1 Ciao |
Tutti gli orari sono GMT. Attualmente sono le 00:09. |
Powered by vBulletin versione 3.6.7
Copyright ©: 2000 - 2023, Jelsoft Enterprises Ltd.
Traduzione italiana a cura di: vBulletinItalia.it