TOPIC

resposta errada (10% WA)

JVMDO0 asked 6 years ago

Alguém consegue encontrar o erro? 10% WA apenas.

#include <iostream>

using namespace std;

int raiz( double, double );

int main()
{
    int a, b;
    double area, p;

    while( 1 ){
        cin >> a;
        if( a == 0 ) break;
        cin >> b;
        if( b == 0 ) break;
        cin >> p;
        if( p == 0 ) break;

        area = (double) ( a * b ) / ( p/100.0 );
        cout << raiz( 0.0, area ) << endl;
    }

    return 0;
}

int raiz( double x, double y )
{
    if( x*x >= y )
        return x;

    return raiz( x+0.1, y );
}

Remember not post solutions. Your post may be reviewed by our moderators.

  • PhilipiII replied 3 years ago

    Coloque todas as variáveis como inteiro porcausa dos arredondamentos e ao invés de fazer o c/100 de modo separado quando você calcula a área, você tem que fazer area = (a b 100) / p. Espero ter ajudado.

  • Jere_SchneiderGM replied 6 years ago

    Hello! your function present a error in the following Ej: 999 999 1. I recommend you use (sqrt) instead the your function. Lucky!