TOPIC

Código em C, 20% Wrong Answer

Mauro Toshiuki Sakugawa asked 2 years ago

Procurei o erro, conferi com o uDebug do URI, mas não achei, alguém pode me dar uma luz sobre o erro no código?

include include include

int main() { int a = 0, novoa = 0, b = 0, novob = 0, q = 0, novoq = 0, r = 0, x = 0;

scanf("%d%d", &a, &b);
if(b == 0)
    exit;
if(a < 0)
{
    if(b > 0)
    {
        if(abs(a) == abs(b))
        {
            q = a/b;
            r = abs(b*q - a);
            printf("%d %d\n", q, r);
        }
        else
        {
        q = a/b - 1;
        r = abs(q*b - a);
        printf("%d %d\n", q, r);
        }
    }
    else if(b < 0)
    {
        if(abs(a) > abs(b))
        {
        q = a/b + 1;
        r = abs(q*b - a);
        printf("%d %d\n", q, r);
        }
        else if(abs(a) < abs(b))
        {
            q = 1;
            r = abs(q*b - a);
            printf("%d %d\n", q, r);
        }
        else
        {
            x = a - 2;
            q = x/b;
            r = abs(q*b - a);
            printf("%d %d\n", q, r);
        }
    }
}
else if(a > 0)
{
    q = a/b;
    r = a%b;
    printf("%d %d\n", q, r);
}
if((a == 0) && (b != 0))
{
    q = 0;
    r = (q*b - a);
    printf("%d %d\n", q, r);
}
return 0;

} Vou postar de novo embaixo.

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

  • George Wurthmann replied 2 years ago

    Coloca um While True no começo do seu código e testa todos esses valores:

    Teste 1 1 -1 -1 0 1 0 2 0 3 0 -1 0 -2 0 -3 1 -1 1 -2 1 -3 1 2 1 3 2 -1 2 -2 2 -3 2 1 2 3 3 -1 3 -2 3 -3 3 1 3 2 -1 1 -1 2 -1 3 -1 -2 -1 -3 -2 1 -2 2 -2 3 -2 -1 -2 -3 -3 1 -3 2 -3 3 -3 -1 -3 -2

    Resultado: 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 1 0 1 0 1 0 1 -2 0 -1 0 0 2 2 0 0 2 -3 0 -1 1 -1 0 3 0 1 1 -1 0 -1 1 -1 2 1 1 1 2 -2 0 -1 0 -1 1 2 0 1 1 -3 0 -2 1 -1 0 3 0 2 1