#include <iostream>
using namespace std;

#include <cmath>

int main()
{
    // Wiem, że funkcja pow przyjmuje argumenty typu double i zwraca wartość typu double
    // ale chciałbym się dowiedzieć dlaczego program / funkcja
    // tak się zachowuje z argumentami typu int i przypisaniem zwracanej wartości do zmiennej typu int
    int A = pow( 10, 2 );
    int B = pow( 10.0, 2.0 );
    double C = pow( 10, 2 );
    double D = pow( 10.0, 2.0 );
    
    cout << A << endl; // 99 Dlaczego ???
    cout << B << endl; // 100
    cout << C << endl; // 100
    cout << D << endl; // 100
}