SPOJ - Prędkość średnia - błędna odpowiedź

0

Witam,

jestem na etapie 'walki' z zadaniem, które niby jest banalne, a jednak SPOJ wyrzuca mi "błędna odpowiedź".

Wszystko zwraca tak jak powinno, nie potrafię znaleźć takich prędkości z zakresu <1, 10000>, aby program niepoprawnie obliczył mi prędkość średnią.

Czy ktoś może ma pomysł dlaczego?

#include<iostream>

using namespace std;

int main()
{
    unsigned int t, v1, v2, srednia;

    cin >> t;

    for(int i=0; i<t; i++)
    {
     cin >> v1 >> v2;
     srednia = (2*v1*v2)/(v1+v2);
     cout << srednia;
    }
    return 0;
}

Pozdrawiam.

1
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    short int v1; //predkosc srednia z a do b;
    short int v2; //predkosc srednia z b do a;
    short int vsr;
    int lT;cin>>lT;++lT;
    while(--lT)
    {
        cin >> v1 >> v2;
        vsr = (2*v1)*v2 / (v1 + v2);    
        cout << vsr << endl;
    }
    return 0;
}

btw. starczą short int-y

1

Nie dziala poprawnie. Dzielisz na intach wiec wynik zawsze jest całkowity.

Czyli jak będzie 5/2 to u ciebie wynik będzie 2 zamiast 2.5

4

A gdzie endline? :D


for(int i=0; i<t; i++)
    {
     cin >> v1 >> v2;
     srednia = (2*v1*v2)/(v1+v2);
     cout << srednia << endl;
    }

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0