Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-12-2011, 16:52   #1
birmarco
Senior Member
 
L'Avatar di birmarco
 
Iscritto dal: Mar 2008
Città: Milano; 9 Vendite concluse -> Wilde; emmepi; Homerj81; cos1950; mariotanza; Benia; grigor; alekia; ARG0
Messaggi: 11160
[PSEUDOCODICE] Suggerimento: un qualsiasi algoritmo ricorsivo

Ciao a tutti!

Devo fare delle prove di programmazione con il linguaggio macchina, più nello specifico devo implementare delle funzioni ricorsive, e avrei bisogno qualche di qualche esempio di algoritmo ricorsivo facilmente implementabile in linguaggio macchina. Quindi deve operare su interi e non deve essere troppo lungo. L'utilità è relativa in quanto devo solo fare un po' di esercizi, se ce l'ha tanto meglio così almeno faccio qualcosa di sensato Mi basta anche solo il nome dell'algoritmo e me lo cerco io, se mi postate direttamente il codice va bene pseudocodice, ANSI C, Visual Basic .Net e non .Net, Java...

Grazie!
birmarco è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2011, 17:00   #2
GByTe87
Senior Member
 
L'Avatar di GByTe87
 
Iscritto dal: Mar 2007
Città: Milano Beach
Messaggi: 1696
Il classico fattoriale?
__________________
~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO
GByTe87 è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2011, 17:36   #3
birmarco
Senior Member
 
L'Avatar di birmarco
 
Iscritto dal: Mar 2008
Città: Milano; 9 Vendite concluse -> Wilde; emmepi; Homerj81; cos1950; mariotanza; Benia; grigor; alekia; ARG0
Messaggi: 11160
Quote:
Originariamente inviato da GByTe87 Guarda i messaggi
Il classico fattoriale?
Grazie! Non ci avevo pensato!
birmarco è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2011, 01:17   #4
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Fibonacci?
Fatto bene e' un po' meno banale.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2011, 01:41   #5
british
Member
 
L'Avatar di british
 
Iscritto dal: Sep 2008
Città: Milano
Messaggi: 126
Sempre in stile fattoriale, calcolare la n-esima potenza di un naturale.
Salendo di complessità, l'algoritmo di Euclide; oppure la ricerca binaria.

ciao!
british è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2011, 08:35   #6
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Calcolare la sequenza di Collatz (Collatz problem) di un numero naturale.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2011, 09:41   #7
birmarco
Senior Member
 
L'Avatar di birmarco
 
Iscritto dal: Mar 2008
Città: Milano; 9 Vendite concluse -> Wilde; emmepi; Homerj81; cos1950; mariotanza; Benia; grigor; alekia; ARG0
Messaggi: 11160
Grazie dei suggermenti!

Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Calcolare la sequenza di Collatz (Collatz problem) di un numero naturale.
Non ho capito bene cosa fa quest'algoritmo... è un po' come il calcolo dei decimali del pi greco con iil PC?
birmarco è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2011, 10:13   #8
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da birmarco Guarda i messaggi
Non ho capito bene cosa fa quest'algoritmo... è un po' come il calcolo dei decimali del pi greco con iil PC?
Please, click here -> Let me Google that for you, you lazy!

Le prime due entry dovrebbero essere ampiamente sufficienti.
Altrimenti eccoti l'algoritmo in Haskell; l'input è un numero naturale, l'output una lista di numeri naturali:
Codice:
-- computes the Collatz sequence for the given integral
collatz :: (Integral a) => a -> [a]
collatz n
    | n <= 0    = error "zero or negative number"
    | n == 1    = [1]
    | even n    = n : collatz (n `div` 2)
    | otherwise = n : collatz (3*n + 1)
Esempi di esecuzione:
Quote:
"ghci>" collatz 1
[1]

"ghci>" collatz 5
[5,16,8,4,2,1]

"ghci>" collatz 10
[10,5,16,8,4,2,1]

"ghci>" collatz 100
[100,50,25,76,38,19,58,29,88,44,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1]
In pratica: prendi un numero naturale N. Se N è pari, dividilo per due, se N è dispari moltiplicalo per 3 e aggiungi 1. Ripeti questa sequenza di operazioni finche non ottieni come risultato 1 (e qui ti fermi). La congettura (Collatz conjecture) è che non importa con quale numero naturale si parta: alla fine si arriva sempre a 1:

Codice:
"ghci>" collatz 1000
[1000,500,250,125,376,188,94,47,142,71,214,107,322,161,484,242,121,364,182,91,274,137,412,206,103,310,155,466,233,700,350,175,526,263,790,395,1186,593,1780,890,445,1336,668,334,167,502,251,754,377,1132,566,283,850,425,1276,638,319,958,479,1438,719,2158,1079,3238,1619,4858,2429,7288,3644,1822,911,2734,1367,4102,2051,6154,3077,9232,4616,2308,1154,577,1732,866,433,1300,650,325,976,488,244,122,61,184,92,46,23,70,35,106,53,160,80,40,20,10,5,16,8,4,2,1]
 
"ghci>" collatz 1234567890
[1234567890,617283945,1851851836,925925918,462962959,1388888878,694444439,2083333318,1041666659,3124999978,1562499989,4687499968,2343749984,1171874992,585937496,292968748,146484374,73242187,219726562,109863281,329589844,164794922,82397461,247192384,123596192,61798096,30899048,15449524,7724762,3862381,11587144,5793572,2896786,1448393,4345180,2172590,1086295,3258886,1629443,4888330,2444165,7332496,3666248,1833124,916562,458281,1374844,687422,343711,1031134,515567,1546702,773351,2320054,1160027,3480082,1740041,5220124,2610062,1305031,3915094,1957547,5872642,2936321,8808964,4404482,2202241,6606724,3303362,1651681,4955044,2477522,1238761,3716284,1858142,929071,2787214,1393607,4180822,2090411,6271234,3135617,9406852,4703426,2351713,7055140,3527570,1763785,5291356,2645678,1322839,3968518,1984259,5952778,2976389,8929168,4464584,2232292,1116146,558073,1674220,837110,418555,1255666,627833,1883500,941750,470875,1412626,706313,2118940,1059470,529735,1589206,794603,2383810,1191905,3575716,1787858,893929,2681788,1340894,670447,2011342,1005671,3017014,1508507,4525522,2262761,6788284,3394142,1697071,5091214,2545607,7636822,3818411,11455234,5727617,17182852,8591426,4295713,12887140,6443570,3221785,9665356,4832678,2416339,7249018,3624509,10873528,5436764,2718382,1359191,4077574,2038787,6116362,3058181,9174544,4587272,2293636,1146818,573409,1720228,860114,430057,1290172,645086,322543,967630,483815,1451446,725723,2177170,1088585,3265756,1632878,816439,2449318,1224659,3673978,1836989,5510968,2755484,1377742,688871,2066614,1033307,3099922,1549961,4649884,2324942,1162471,3487414,1743707,5231122,2615561,7846684,3923342,1961671,5885014,2942507,8827522,4413761,13241284,6620642,3310321,9930964,4965482,2482741,7448224,3724112,1862056,931028,465514,232757,698272,349136,174568,87284,43642,21821,65464,32732,16366,8183,24550,12275,36826,18413,55240,27620,13810,6905,20716,10358,5179,15538,7769,23308,11654,5827,17482,8741,26224,13112,6556,3278,1639,4918,2459,7378,3689,11068,5534,2767,8302,4151,12454,6227,18682,9341,28024,14012,7006,3503,10510,5255,15766,7883,23650,11825,35476,17738,8869,26608,13304,6652,3326,1663,4990,2495,7486,3743,11230,5615,16846,8423,25270,12635,37906,18953,56860,28430,14215,42646,21323,63970,31985,95956,47978,23989,71968,35984,17992,8996,4498,2249,6748,3374,1687,5062,2531,7594,3797,11392,5696,2848,1424,712,356,178,89,268,134,67,202,101,304,152,76,38,19,58,29,88,44,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1]
"ghci>"
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 21-12-2011 alle 10:27.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2011, 11:08   #9
birmarco
Senior Member
 
L'Avatar di birmarco
 
Iscritto dal: Mar 2008
Città: Milano; 9 Vendite concluse -> Wilde; emmepi; Homerj81; cos1950; mariotanza; Benia; grigor; alekia; ARG0
Messaggi: 11160
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Please, click here -> Let me Google that for you, you lazy!

Le prime due entry dovrebbero essere ampiamente sufficienti.
Altrimenti eccoti l'algoritmo in Haskell; l'input è un numero naturale, l'output una lista di numeri naturali:
Codice:
-- computes the Collatz sequence for the given integral
collatz :: (Integral a) => a -> [a]
collatz n
    | n <= 0    = error "zero or negative number"
    | n == 1    = [1]
    | even n    = n : collatz (n `div` 2)
    | otherwise = n : collatz (3*n + 1)
Esempi di esecuzione:


In pratica: prendi un numero naturale N. Se N è pari, dividilo per due, se N è dispari moltiplicalo per 3 e aggiungi 1. Ripeti questa sequenza di operazioni finche non ottieni come risultato 1 (e qui ti fermi). La congettura (Collatz conjecture) è che non importa con quale numero naturale si parta: alla fine si arriva sempre a 1:

Codice:
"ghci>" collatz 1000
[1000,500,250,125,376,188,94,47,142,71,214,107,322,161,484,242,121,364,182,91,274,137,412,206,103,310,155,466,233,700,350,175,526,263,790,395,1186,593,1780,890,445,1336,668,334,167,502,251,754,377,1132,566,283,850,425,1276,638,319,958,479,1438,719,2158,1079,3238,1619,4858,2429,7288,3644,1822,911,2734,1367,4102,2051,6154,3077,9232,4616,2308,1154,577,1732,866,433,1300,650,325,976,488,244,122,61,184,92,46,23,70,35,106,53,160,80,40,20,10,5,16,8,4,2,1]
 
"ghci>" collatz 1234567890
[1234567890,617283945,1851851836,925925918,462962959,1388888878,694444439,2083333318,1041666659,3124999978,1562499989,4687499968,2343749984,1171874992,585937496,292968748,146484374,73242187,219726562,109863281,329589844,164794922,82397461,247192384,123596192,61798096,30899048,15449524,7724762,3862381,11587144,5793572,2896786,1448393,4345180,2172590,1086295,3258886,1629443,4888330,2444165,7332496,3666248,1833124,916562,458281,1374844,687422,343711,1031134,515567,1546702,773351,2320054,1160027,3480082,1740041,5220124,2610062,1305031,3915094,1957547,5872642,2936321,8808964,4404482,2202241,6606724,3303362,1651681,4955044,2477522,1238761,3716284,1858142,929071,2787214,1393607,4180822,2090411,6271234,3135617,9406852,4703426,2351713,7055140,3527570,1763785,5291356,2645678,1322839,3968518,1984259,5952778,2976389,8929168,4464584,2232292,1116146,558073,1674220,837110,418555,1255666,627833,1883500,941750,470875,1412626,706313,2118940,1059470,529735,1589206,794603,2383810,1191905,3575716,1787858,893929,2681788,1340894,670447,2011342,1005671,3017014,1508507,4525522,2262761,6788284,3394142,1697071,5091214,2545607,7636822,3818411,11455234,5727617,17182852,8591426,4295713,12887140,6443570,3221785,9665356,4832678,2416339,7249018,3624509,10873528,5436764,2718382,1359191,4077574,2038787,6116362,3058181,9174544,4587272,2293636,1146818,573409,1720228,860114,430057,1290172,645086,322543,967630,483815,1451446,725723,2177170,1088585,3265756,1632878,816439,2449318,1224659,3673978,1836989,5510968,2755484,1377742,688871,2066614,1033307,3099922,1549961,4649884,2324942,1162471,3487414,1743707,5231122,2615561,7846684,3923342,1961671,5885014,2942507,8827522,4413761,13241284,6620642,3310321,9930964,4965482,2482741,7448224,3724112,1862056,931028,465514,232757,698272,349136,174568,87284,43642,21821,65464,32732,16366,8183,24550,12275,36826,18413,55240,27620,13810,6905,20716,10358,5179,15538,7769,23308,11654,5827,17482,8741,26224,13112,6556,3278,1639,4918,2459,7378,3689,11068,5534,2767,8302,4151,12454,6227,18682,9341,28024,14012,7006,3503,10510,5255,15766,7883,23650,11825,35476,17738,8869,26608,13304,6652,3326,1663,4990,2495,7486,3743,11230,5615,16846,8423,25270,12635,37906,18953,56860,28430,14215,42646,21323,63970,31985,95956,47978,23989,71968,35984,17992,8996,4498,2249,6748,3374,1687,5062,2531,7594,3797,11392,5696,2848,1424,712,356,178,89,268,134,67,202,101,304,152,76,38,19,58,29,88,44,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1]
"ghci>"
Più o meno qui avevo capito O forse no? Però ho letto anche che è un problema irrisolto quindi il PC va avanti a calcolare finchè non trova il numero che risolve la congettura, fin'ora irrisolta.
Quindi se scrivo un codice di quel tipo praticamente mi andrà avanti all'infinito giusto? Un po' come il calcolo di tutte le cifre del pi greco...
birmarco è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2011, 11:36   #10
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da birmarco Guarda i messaggi
Più o meno qui avevo capito O forse no?
Ti rispondo quotando questo passaggio:
Quote:
The Collatz conjecture is: This process will eventually reach the number 1, regardless of which positive integer is chosen initially.

That smallest i such that ai = 1 is called the total stopping time of n.[8] The conjecture asserts that every n has a well-defined total stopping time. If, for some n, such an i doesn't exist, we say that n has infinite total stopping time and the conjecture is false.

If the conjecture is false, it can only be because there is some starting number which gives rise to a sequence which does not contain 1. Such a sequence might enter a repeating cycle that excludes 1, or increase without bound. No such sequence has been found.
La congettura è una cosa, un'ipotesi. L'algoritmo per calcolare la sequenza di Collatz di un numero naturale un'altra. L'una non ti vieta di realizzare l'altro. Poi il fatto che la congettura fin'ora abbia retto perchè non si è ancora trovato un numero naturale che la renda falsa, dovrebbe tranquillizarti. In ogni caso ciò non ti impedisce di scrivere l'algoritmo, e quindi di fare esercizio... non so se mi spiego.

Quote:
Originariamente inviato da birmarco Guarda i messaggi
Però ho letto anche che è un problema irrisolto quindi il PC va avanti a calcolare finchè non trova il numero che risolve la congettura, fin'ora irrisolta.
Quindi se scrivo un codice di quel tipo praticamente mi andrà avanti all'infinito giusto? Un po' come il calcolo di tutte le cifre del pi greco...
C'è un fraintendimento: l'algoritmo che ti ho proposto non dimostra la congettura (ovviamente ), semplicemente calcola la sequenza di Collatz dato qualsiasi numero naturale in input.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 23-12-2011 alle 11:01. Motivo: imprecisione lessicale
banryu79 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
TSMC aumenta i costi di produzione: AMD ...
260 miliardi all'anno risparmiati per i ...
One UI 9 arriva sui Galaxy S26: pi&ugrav...
Hacker chiedono 2,5 milioni di euro a Re...
Home Assistant su uno schermo touch econ...
L'IA entra nei negozi Unieuro con Google...
"What Holds Us", la nuova most...
La Formula 1 divide sui motori, ma il su...
Un computer a DNA esegue moltiplicazioni...
Ibride cinesi, l'Europa fissa il tetto a...
iPhone Duo potrebbe dar vita a una gamma...
Denza Z9S: la berlina elettrica con il r...
Valve abilita i driver e il supporto all...
Terafab, il progetto di Musk finisce in ...
Il meglio di Amazon in 42 articoli: sono...
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: 14:24.


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