Se citesc un număr natural n și un număr real / care reprezintă lungimea laturii unui pătrat. Pătratului i se circumscrie un cerc, cercului un pătrat ş.a.m.d. Să se determine aria pătratului şi a cercului obținute după n operaţii de circumscriere. 15
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int n;
double l;
cout << „Introduceti numarul de operatii (n): „;
cin >> n;
cout << „Introduceti lungimea laturii patratului (l): „;
cin >> l;
double r = l / 2;
double a = l * l;
double A = M_PI * r * r;
for (int i = 1; i <= n; i++) {
r = 2 * r;
l = sqrt(2) * r;
a = l * l;
A = M_PI * r * r;
}
cout << „Aria patratului obtinut: ” << a << endl;
cout << „Aria cercului obtinut: ” << A << endl;
return 0;
}
Pentru a rezolva această problemă, putem aplica o metodă iterativă care constă în a calcula, la fiecare pas, aria pătratului și a cercului obținute prin circumscrierea formei geometrice anterioare.
Începem prin a calcula aria pătratului inițial, care este egală cu latura la pătrat, adică a = l^2. Apoi, calculăm raza cercului circumscris pătratului inițial, care este r = l/2. Folosind această rază, putem calcula aria cercului, care este A = πr^2.
În continuare, aplicăm același proces de circumscriere, de data aceasta pe cercul obținut în pasul anterior. Calculăm latura pătratului inscris în acest cerc, care este l = 2r, și apoi aria pătratului, a = l^2. De asemenea, putem calcula aria cercului circumscris acestui pătrat, A = πr^2.
Procedăm astfel pentru n pași și în final afișăm aria pătratului și a cercului obținute în ultimul pas.
În acest exemplu, am folosit funcția sqrt()
din biblioteca cmath
pentru a calcula radicalul din 2.