Mi si perdoni la "deformazione", la poca fantasia! :-)
Ecco il mio
QUESITO n°3
Un numero (intero, *naturale*) in A1.
Si vogliono due formule.
- Formula n°1: restituisca il numero di divisori (positivi) del numero
stesso, cioè *quanti* divisori ha il numero, 1 e se stesso compresi.
Es. il numero 12 ha 6 divisori positivi
- Formula n°2: restituisca i divisori del numero, cioè *quali* sono i
divisori. Es. i divisori di 12: 1, 2, 3, 4, 6, 12
Naturalmente si tengono in considerazione i limiti di Excel. In Excel
2003 il valore massimo dei divisori trovabili è di 65536 (già
un'esagerazione!)
- Formula <i>extra</i> (a piacere, io direi prescinda da "punti", anche
per ovvi motivi ... Decida poi chi di dovere!:-) ):
stabilisca se un numero è primo: restituisca VERO se lo è, FALSO se no!
PS: mi si segnalino eventuali imprecisioni. Posso chiarire anche in
caso di dubbi.
grazie,
buon quizzzzz!
--
ciao
giovanna
.......................
www.riolab.org
.........................
> Naturalmente si tengono in considerazione i limiti di Excel. In Excel 2003 il
> valore massimo dei divisori trovabili è di 65536 (già un'esagerazione!)
>
oops, e te pareva :-(
intendevo:
65536 è il valore max di cui si possano trovare i divisori in Excel
2003
Ciao, tutti.
Mi si perdoni la "deformazione", la poca fantasia! :-)
Ecco il mio
QUESITO n°3
Un numero (intero, *naturale*) in A1.
Si vogliono due formule.
- Formula n°1: restituisca il numero di divisori (positivi) del numero
stesso, cioè *quanti* divisori ha il numero, 1 e se stesso compresi.
Es. il numero 12 ha 6 divisori positivi
- Formula n°2: restituisca i divisori del numero, cioè *quali* sono i
divisori. Es. i divisori di 12: 1, 2, 3, 4, 6, 12
Naturalmente si tengono in considerazione i limiti di Excel. In Excel
2003 il valore massimo dei divisori trovabili è di 65536 (già
un'esagerazione!)
- Formula <i>extra</i> (a piacere, io direi prescinda da "punti", anche
per ovvi motivi ... Decida poi chi di dovere!:-) ):
stabilisca se un numero è primo: restituisca VERO se lo è, FALSO se no!
---------------------------------------------------------------------------------------
1°) =SE($A$1<>"";SOMMA(1*(RESTO($A1;RIF.RIGA(INDIRETTO("1:"&$A1)))=0));"")
matriciale
2°)
=SE(VAL.ERRORE(PICCOLO(SE(RESTO($A$1;RIF.RIGA(INDIRETTO("1:"&$A$1)))=0;RIF.RIGA(INDIRETTO("1:"&$A$1));"");RIF.RIGA(A1)));"";PICCOLO(SE(RESTO($A$1;RIF.RIGA(INDIRETTO("1:"&$A$1)))=0;RIF.RIGA(INDIRETTO("1:"&$A$1));"");RIF.RIGA(A1)))
matriciale
3°) =MATR.SOMMA.PRODOTTO(1*(RESTO(A1;RIF.RIGA(INDIRETTO("1:"&A1)))=0))=2
ciao paoloard
http://www.riolab.org
Ciao, tutti.
Ecco il mio
QUESITO n°3
ciao paoloard
http://www.riolab.org
-------------------------------------------------------------
Ebbene si', prima che me lo dica Giovanna me lo dico da solo: sono un
imbroglione! Gio sa anche il perche' ;-)
Merito una punizione per scandaloso plagio.
paoloard
http://www.riolab.org
> 1°) =SE($A$1<>"";SOMMA(1*(RESTO($A1;RIF.RIGA(INDIRETTO("1:"&$A1)))=0));"")
> matriciale
>
> 2°)
> =SE(VAL.ERRORE(PICCOLO(SE(RESTO($A$1;RIF.RIGA(INDIRETTO("1:"&$A$1)))=0;RIF.RIGA(INDIRETTO("1:"&$A$1));"");RIF.RIGA(A1)));"";PICCOLO(SE(RESTO($A$1;RIF.RIGA(INDIRETTO("1:"&$A$1)))=0;RIF.RIGA(INDIRETTO("1:"&$A$1));"");RIF.RIGA(A1)))
> matriciale
>
> 3°) =MATR.SOMMA.PRODOTTO(1*(RESTO(A1;RIF.RIGA(INDIRETTO("1:"&A1)))=0))=2
>
>
wow, Paolone,
mi paiono perfette! ora aspettiamo riduzioni!!!
No Gio sono un bieco plagiatore, le formule sono tue, pero' per riscattarmi
potrei tentare di accorciarle:
1°) =SOMMA(1*(RESTO($A1;RIF.RIGA(INDIRETTO("1:"&$A1)))=0)) matriciale
(togliendo il controllo se la cella è vuota)
2°)
=PICCOLO(SE(RESTO($A$1;RIF.RIGA(INDIRETTO("1:"&$A$1)))=0;RIF.RIGA(INDIRETTO("1:"&$A$1));"");RIF.RIGA(A1))
matriciale (Togliendo il controllo per la restituzione di errore a fine
dati)
3°) =SOMMA(1*(RESTO(A1;RIF.RIGA(INDIRETTO("1:"&A1)))=0))=2 matriciale
ciao paoloard
http://www.riolab.org
> Ebbene si', prima che me lo dica Giovanna me lo dico da solo: sono un
> imbroglione! Gio sa anche il perche' ;-)
io non so nulla!
> Merito una punizione per scandaloso plagio.
No. la punizione te la do per incapacità di quotare! :-)
Noto ultimamente pessime abitudini.... :-)
Si dovrebbe lasciare nelle repliche solo lo stretto necessario ai fini
della comprensione del testo. Inutile appesantire, la consultazione del
NG è un'aggiunta alle normali attività di ciascuno ...! :)
> potrei tentare di accorciarle:
>
> 1°) =SOMMA(1*(RESTO($A1;RIF.RIGA(INDIRETTO("1:"&$A1)))=0)) matriciale
> (togliendo il controllo se la cella è vuota)
>
> 2°)
> =PICCOLO(SE(RESTO($A$1;RIF.RIGA(INDIRETTO("1:"&$A$1)))=0;RIF.RIGA(INDIRETTO("1:"&$A$1));"");RIF.RIGA(A1))
> matriciale (Togliendo il controllo per la restituzione di errore a fine dati)
>
> 3°) =SOMMA(1*(RESTO(A1;RIF.RIGA(INDIRETTO("1:"&A1)))=0))=2 matriciale
>
ok, accorciate!
aspettiamo il terribile riduttore! :-)
io dovevo aspettare 2 ore prima di postare ... ora sono
incasinatissimo per un po' ... però visto che paolone si è già beccato
i 5 punti e visto che i problemi sono interessanti, prima di
decapitare ... provo a solvere da zero :-) così non mi perdo il
gusto ...
a dopo ...
r
infatti, bravo! (grazie per l' "interessanti")
> provo a solvere da zero :-)
proprio questo aspettavo!
> così non mi perdo il gusto
per l'appunto!
paoloard ha usato la sua tastiera per scrivere :
> Ebbene si', prima che me lo dica Giovanna me lo dico da solo: sono un
> imbroglione! Gio sa anche il perche' ;-)
io non so nulla!
--------------------------------------------------------
certo che lo dovresti sapere. Ho saccheggiato il tuo blog!
> Merito una punizione per scandaloso plagio.
No. la punizione te la do per incapacità di quotare! :-)
Noto ultimamente pessime abitudini.... :-)
Si dovrebbe lasciare nelle repliche solo lo stretto necessario ai fini
della comprensione del testo. Inutile appesantire, la consultazione del
NG è un'aggiunta alle normali attività di ciascuno ...! :)
-----------------------------------------------------------------------
Convengo, accetto la punizione! Cercherò di riscattarmi la prossima volta.
paoloard
http://www.riolab.org
> certo che lo dovresti sapere. Ho saccheggiato il tuo blog!
>
Paolone, sei unico! :-)
intanto ... accorcio un po'
=SOMMA(1*(RESTO(A1;RIF.RIGA(SCARTO(A1;;;A1)))=0))
=GRANDE((RESTO(A$1;RIF.RIGA(SCARTO(A$1;;;A$1)))=0)*RIF.RIGA(SCARTO(A
$1;;;A$1));RIF.RIGA(A1))
saluti
r
la prima in inglese con stessa lunghezza può essere anche:
=A1-COUNT(1/MOD(A1,ROW(OFFSET(A1,,,A1))))
ovviamente sarebbero accorciabili mettendo nel rif.riga un intervallo
fisso ... ma a discapito della dimensione della matrice ... eviterei
saluti
r
meglio la 2 ... visto che 0 non è un divisore:
=GRANDE(SE(RESTO(A$1;RIF.RIGA(SCARTO(A$1;;;A$1)))=0;RIF.RIGA(SCARTO(A
$1;;;A$1)));RIF.RIGA(A1))
saluti
r
>
> meglio la 2 ... visto che 0 non è un divisore:
> =GRANDE(SE(RESTO(A$1;RIF.RIGA(SCARTO(A$1;;;A$1)))=0;RIF.RIGA(SCARTO(A
> $1;;;A$1)));RIF.RIGA(A1))
r,
per ora non ho testato (non che dubiti, ma poi mi calcolo anche le
lunghezze) perché devo uscire per riunione... ma ti dico solo che anche
a me è sempre stata più simpa SCARTO() :-)
beh le formule non possono essere stravolte ... direi che le soluzioni
postate da paolo sono le soluzioni che avrei scritto anch'io ...
alla luce di alcuni articoli che ho letto uso sempre più indice ... la
formula risulterebbe appena più lunga.
ciao
r
cut
beh le formule non possono essere stravolte ... direi che le soluzioni
postate da paolo
--------------------------------------------------
che sono di Giovanna (vedi il suo blog Matematicamedie)......
paoloard
http://www.riolab.org
Al prossimo quizzone...
E. :-))
copione! :-)
per fortuna non siamo a scuola ed è validissimo cercare e usare
soluzioni di altri ... ora ti tocca preparare la domanda ... io
confesso che ne ho già pronte un bel mazzetto e non vedo l'ora di
mettervi nuovamente alla prova ... non so se condividete (chiedo a gio
e plinius che hanno ad oggi avuto l'onore) ma pensare hai quesiti è un
sacco divertente :-)
ciao
r
si sono una bestia
andavano trascinate
ciao
attento a quello che proponi, dati una regolata, altrimenti mi
riallontano :-(
> non so se condividete (chiedo a gio
> e plinius che hanno ad oggi avuto l'onore) ma pensare hai quesiti è un
> sacco divertente :-)
insomma... no! :-)
Sul serio, per me è una roba difficilissima! O forse non mi piace!
Comunque, viste bene le tue formule. Certo più brevi. Anche GRANDE al
posto di PICCOLO fa -1 caratt! :-)
grazie
alla prox!
Peccato Enrico. Alla prox!
> grazie
> alla prox!
Naturalmente grazie anche a Paolone!
ciao Andrea,
peccato che anche tu non abbia detto la tua. Alla prox!
> si sono una bestia
> andavano trascinate
> ciao
mi raccomando andrea ... frena l'istinto ...
e se le dita vogliono partire ... conta prima fino a 10 ... :-)
ciao
r
tranquilla, tranquilla ... il mio motto è demoralizzarvi sul
nascere :-)
>
> > non so se condividete (chiedo a gio
> > e plinius che hanno ad oggi avuto l'onore) ma pensare hai quesiti è un
> > sacco divertente :-)
>
> insomma... no! :-)
> Sul serio, per me è una roba difficilissima! O forse non mi piace!
uffa! avrei scommesso il contrario .. perdo colpi :-)
>
> Comunque, viste bene le tue formule. Certo più brevi. Anche GRANDE al
> posto di PICCOLO fa -1 caratt! :-)
> grazie
> alla prox!
e si ... accetta alla mano ... noi tagliaformule ... accettiamo :-)
ciao
r
alla luce dei tagliamenti aggiorno:
=SOMMA(1*(RESTO(A1;RIF.RIGA(SCARTO(A1;;;A1)))=0))
=GRANDE((RESTO(A$1;RIF.RIGA(SCARTO(A$1;;;A$1)))=0)*RIF.RIGA(SCARTO(A
$1;;;A$1));RIGHE($1:1))
r
r
*******************
I punti sono tuoi, ma penso sia preferibile questa versione perché l'altra,
dopo l'ultimo divisore, restituisce degli 0 poco appropriati...
=GRANDE(SE(RESTO(A$1;RIF.RIGA(SCARTO(A$1;;;A$1)))=0;RIF.RIGA(SCARTO(A$1;;;A$1)));RIGHE($1:1))
A puro titolo di completezza (ma convengo sul fatto che non sia per nulla
consigliabile) metto anche la versione che testa l'intera colonna
=GRANDE(SE(RESTO(A$1;RIF.RIGA(A:A));"";RIF.RIGA(A:A));RIGHE($1:1))
Più che matriciale, questa è matricionale!! :-))
E.