double exp (double x)
double log (double x) |
// ex4_7_4.cpp #include <iostream.h> #include <math.h> double potenza (double base, double esponente) { double x = exp (esponente * log(base) ); return x; } void main() { double base, esponente; while (true) { // infinite loop cout << "\n\nscrivi base = 0 per terminare\n"; cout << "base? "; cin >> base; if (base == 0) break; cout << "esponente? "; cin >> esponente; double x = potenza (base, esponente); cout << "risultato = " << x; } }
esempio di output:
scrivi base = 0 per terminare
base? 2.5
esponente? 2
risultato = 6.25
scrivi base = 0 per terminare
base? 16
esponente? .25
risultato = 2
Come è ovvio dalle proprietà dei logaritmi, è semplice ricavare dai logaritmi in base naturale tutti gli altri, ricordando che:
// ex4_7_5.cpp #include <iostream.h> #include <math.h> void main() { double base, argomento; cout << "base? "; cin >> base; cout << "argomento? "; cin >> argomento; double risultato = log(argomento) / log(base); cout << "risultato = " << risultato; }
esempio di output:
base? 4
argomento? 16
risultato = 2