ENG  RUSTimus Online Judge
Online Judge
Problems
Authors
Online contests
About Online Judge
Frequently asked questions
Site news
Webboard
Links
Problem set
Submit solution
Judge status
Guide
Register
Update your info
Authors ranklist
Current contest
Scheduled contests
Past contests
Rules
back to board

Discussion of Problem 1001. Reverse Root

Show all messages Hide all messages

#include <iostream>;
#include <vector>;

using namespace std;

int main()
{
    vector<int> v;
    int n;
    while (std::cin >> n)
        v.push_back(n);

    int i;
    for(i = v.size() - 1; i>=0; i--)
        printf("%.4f\n", sqrt((double) (v[i])));

    system("pause");
    return 0;
}

P.S.
А тесты на которых проверяются программы можно увидеть?
Hey dude, did you read FAQ?
Why did you decide to include system("pause") in your code? Do you think it will help testing system to check your code???
I delete it when I check, but forget to delete, when copy it here

Edited by author 16.06.2013 16:22

Edited by author 16.06.2013 16:22

Edited by author 16.06.2013 16:22
Ты вроде Сергей, почему по русски не ответил?

Edited by author 16.06.2013 16:23
У меня тоже самое: в консоли числа совпадают с ответом для первого теста, а в результатах проверки Wrong answer
У меня сейчас немного изменилось положение, я понял, что не совсем понимаю, как должен заканчиваться поток данных. Я например его завершаю нажатием ctrl+z, понятия не имею откуда я это знаю, видно некоторые знания в университете попадают в голову в не зависимости от моего желания) Так вот, я обычно тестил и завершал этим, а сейчас ввожу первую строку ,потом вторую допустим
4444444444
   4444444444444
и поток завершается сам собой, причем ответ только для одного числа, т.е. ошибку вроде нашел, но как с ней бороться не знаю.
Use files to test your program locally
I used files for testing and got an error in the first test. My answer is the same as in example. Also I used in my testing text from example.
Вот мой код. Замени int на double в векторе и n

#include <stdio.h>
#include <conio.h>
#include <algorithm>
#include <iostream>
#include <iomanip>
#include <math.h>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <deque>
#include <string>

using namespace std;

int gcd (int a, int b){
    return (b)? gcd(b,a % b) : a;
}

int lca (int a, int b){
    return a / gcd(a,b) * b;
}

int main()
{
    vector <long double> a;
    long double n = 5.0;
    while(cin >> n)
        a.push_back(n);

    for(int i = a.size() - 1;i >= 0; --i)
        cout << fixed << setprecision(4) << pow(double(a[i]), 0.5) << endl;
    return 0;
}
Первый тест - это ввод исходных данных из примера и ожидание вывода результата примера.
А число 876652098643267843 уже больше значений типа int. Поэтому первый тест ломается уже на сканировании этого числа в переменную n.

876652098643267843 влазит в тип long long int