#include<iostream.h> int main() { int a; cout << "Dammi a: "; cin >> a; cout << endl; int n; cout << "Dammi n: "; cin >> n; cout << endl; long long int P[n +1]; P[0] = 1; for(int k=1; k<=n; k++) P[k] = a*P[k-1]; cout << "P[" << n << "] = " << P[n] << endl; }
Si stabilisca l'ordine di crescita del tempo di calcolo della procedura proposta. Si stabilisca l'ordine di crescita della memoria impiegata dalla procedura proposta.
#include<iostream.h> long long int P(int a, int n) { if (n==0) return 1; if (n==1) return a; return P(a, n/2)* P(a, n- (n/2)); } int main() { int a; cout << "Dammi a: "; cin >> a; cout << endl; int n; cout << "Dammi n: "; cin >> n; cout << endl; cout << "P[" << n << "] = " << P(a, n) << endl; }
Si stabilisca l'ordine asintotico di crescita per il tempo di calcolo della procedura proposta dal professor Gonzalez. Si stabilisca l'ordine di crescita della memoria impiegata dalla procedura di Gonzalez.
Complemento 6+ Dire come il prof. Gonzalez possa, con un semplice accorgimento, ridurre il tempo di calcolo della sua procedura tanto da meritarsi l'appellativo di Speedy. Quale è il nuovo tempo di calcolo?