Example #1
0
Decimal & Decimal::power(unsigned value)
{
    if (value == 0)
        setInt(1);
    else
        doPower(value);
    return *this;
}
Example #2
0
Decimal & Decimal::power(int value)
{
    if ( value >= 0)
        return power((unsigned)value);

#if 1
    //This probably gives slightly more expected results, but both suffer from rounding errors.
    Decimal reciprocal;
    reciprocal.setInt(1);
    reciprocal.divide(*this);
    set(reciprocal);
    doPower((unsigned)-value);
    return *this;
#else
    doPower((unsigned)-value);
    Decimal reciprocal;
    reciprocal.setInt(1);
    reciprocal.divide(*this);
    set(reciprocal);
    return *this;
#endif
}
Example #3
0
int main()
{
    float S,A,B,C,D,Q;
    printf ("Vipolnite deistvie \nQ=((A^2+B^2)/(B+5^C))+B!\n");//пояснюємо ціль
    printf ("Zadaite A,B,C\n");//запитоємо значення змінних
    scanf ("%f",&A);
    //printf ("A=%f\n",A);
    scanf ("%f",&B);
    //printf ("B=%f\n",B);
    scanf ("%f",&C);
    //printf ("C=%f\n",C);
    D=doFactorial(B);//рахуємо факторіал
    S=doPower(C);//рахуємо степінь
    //printf ("\nFactorial B= %f Power 5= %f\n",D,S);//перевіряемо значення
    if ((B+S)!=0)//перевірка на "дурня"
    {
            Q=(((A*A+B*B)/(B+S))+D);
            printf ("Otvet=%f",Q);
    }
        else
            printf ("Perezadaite znacheniya, znamenatel raven 0");

    return 0;
}