ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1001. Обратный корень

Accepted on C++
Послано Izobara 2 окт 2013 14:52
#include <stdio.h>
#include <math.h>
double stack[131073];
int main()
{
    int index = -1;
    while(scanf("%lf", &stack[++index]) != EOF);
    for(; index > 0;printf("%.4lf\n", sqrt(stack[--index])));
    return 0;
}
Re: Accepted on C++
Послано Cui Xiangfei 29 окт 2013 09:47
If the digit is negative?
Re: Accepted on C++
Послано Ouch 29 окт 2013 19:48
Cui Xiangfei писал(a) 29 октября 2013 09:47
If the digit is negative?
Just use the same method, and append "i" to denote the imaginary number.
Re: Accepted on C++
Послано WENXIANG LU 4 ноя 2013 10:59
Hi, can this code be accepted?
The input value can be much larger than double value, even long type.
Re: Accepted on C++
Послано Yuri Pechatnov [Barnaul] 9 ноя 2013 23:15
A strange fact:

[...]
double  b[100000000]; int i = 0;

int main(){
    while (scanf("%lf", &b[i++]) == 1); i--;
    while (i > 0)
        printf("%.4lf\n", sqrt((double)b[--i]));
    return 0;
}

Get AC
BUT:

[...]
long long  b[100000000]; int i = 0;

int main(){
    long long a;
    while (scanf("%lld", &b[i++]) == 1); i--;
    while (i > 0)
        printf("%.4lf\n", sqrt((double)b[--i]));
    return 0;
}

Gets WA 1.
I understand nothing in this life..=) I wonder where may be mistake?

Compiler G++ 4.7.2
Re: Accepted on C++
Послано Sauron 21 ноя 2013 00:34
Cui Xiangfei писал(a) 29 октября 2013 09:47
If the digit is negative?
lol 0<=A<=10^18 read description :P

Edited by author 21.11.2013 00:35

Edited by author 21.11.2013 00:35
Re: Accepted on C++
Послано cures 18 май 2014 09:51
Mingw gcc does not recognize %lld, use %I64u.
And now it does not work with %.4lf in printf, only with %.4f (in C++11 mode).
Re: Accepted on C++
Послано Ping_23 24 май 2014 22:00
Well, it should be double not long long since the output is in real number
Yuri Pechatnov [Barnaul] писал(a) 9 ноября 2013 23:15
A strange fact:

[...]
double  b[100000000]; int i = 0;

int main(){
    while (scanf("%lf", &b[i++]) == 1); i--;
    while (i > 0)
        printf("%.4lf\n", sqrt((double)b[--i]));
    return 0;
}

Get AC
BUT:

[...]
long long  b[100000000]; int i = 0;

int main(){
    long long a;
    while (scanf("%lld", &b[i++]) == 1); i--;
    while (i > 0)
        printf("%.4lf\n", sqrt((double)b[--i]));
    return 0;
}

Gets WA 1.
I understand nothing in this life..=) I wonder where may be mistake?

Compiler G++ 4.7.2