Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
MsHassium
2 / 2 / 0
Регистрация: 04.03.2012
Сообщений: 21
#1

Задача 1001 acm.timus.ru

21.03.2012, 18:04. Просмотров 2675. Ответов 3
Метки нет (Все метки)

Исходные данные
Входной поток содержит набор целых чисел Ai (0 ≤ Ai ≤ 1018), отделённых друг от друга произвольным количеством пробелов и переводов строк. Размер входного потока не превышает 256 КБ.
Результат
Для каждого числа Ai, начиная с последнего и заканчивая первым, в отдельной строке вывести его квадратный корень не менее чем с четырьмя знаками после десятичной точки.
НЕ могу сообразить как сделать ввод данных!!! Делаю через цикл for,без массивов, но там нужно вводить кол-во элементов, а это по условию не приемлемо. Ступор!!!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
    
    double a;
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a;
        a=sqrt((double)a);
 
        cout<<fixed<<setprecision(4)<<a<<endl;
    }
    return 0;
}
здесь он считает корень, но выдает не в обратном порядке!!! В этом тоже не большая проблема!!!

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2012, 18:04
Ответы с готовыми решениями:

Acm.timus Wrong answer
]Ссылка на задачу Помогите с задачей ошибку выдает все вроде варианты уже...

Acm.timus Wrong answer
Ссылка на задачу Задачу необходимо переписывать в тело сообщения! ...

Acm.timus Runtime error (access violation)
Ограничение времени: 0.5 секунды Ограничение памяти: 64 МБ Наш джип находится...

Подкиньте несколько вариантов тестов для задачи с acm.timus.ru
Собственно, хочется несколько хитрых вариантов тестов для задачи 1848...

Задача Timus
Почему не проходит тест? Может кто знает? ...

3
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
21.03.2012, 20:10 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include "math.h"
#include <stdio.h>
int main()
{
#ifndef ONLINE_JUDGE
   freopen("input.txt", "rt", stdin);
   freopen("output.txt", "wt", stdout);
#endif
    double *mas=new double[132000];
    long long temp=0;
    int fl=0;
    int i_mas=0;
    char c;
    while ((int)(c = (char)getchar()) != EOF)
    {
        if((c==' ' || c=='\n') && fl==1)
        {
            fl=0;
            mas[i_mas++]=sqrt((double)temp);
            temp=0;
        }
        else
        {
            if(!(c==' ' || c=='\n'))
            {
                fl=1;
                temp*=(long long)10;
                temp+=(long long)(c-'0');
            }
        }
    }
if(fl)
{           
mas[i_mas++]=sqrt((double)temp);
}
    while(i_mas>0)
    {
        printf("%.5lf\n", mas[(i_mas--)-1]);
    }   
   return 0;
}
1
Nexia
0 / 0 / 1
Регистрация: 06.06.2013
Сообщений: 8
08.07.2013, 22:42 #3
Друзья, огромная просьба разжевать данную строку подробнейшим образом. Я - начинающий, пытаюсь вкурить построчно, но тут что-то через чур многовато - не понятно что и гуглить )
Цитата Сообщение от valeriikozlov Посмотреть сообщение
while ((int)(c = (char)getchar()) != EOF)
0
lowercase
212 / 201 / 85
Регистрация: 09.05.2012
Сообщений: 494
08.07.2013, 23:20 #4
думаю обьяснять что такое while ненадо.

C++
1
c = (char)getchar()
так как переменная с - тип char, a getchar() - int - преобразовываем значение последнего к типу первого
C++
1
(int)(c = (char)getchar()) != EOF
т.к. EOF это #define EOF -1, все целочисельные литералы по умолчанию имеют тип int. а с - тип char потому приводим его к более широкому типу - int с помощью преобразования.

зы: операция (<имя_типа>)<выражение> называется приведеним типа. вроде как осталась в наследство от языка Си, в плюсах же вроде как юзают эти ваши static_cast<>(), dinamic_cast<>() и многое другое.

Добавлено через 15 минут
будь переменная с типа int, выше упомянутая строчка выглядела бы вот так:
C++
1
while ((c = getchar()) != EOF)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2013, 23:20

Задача на Timus Online Judge, C++. Решена, но
Решил задачу, но выдает ошибку WA на 2 тесте. Не могу даже представить, в чем...

Написание кодека и ACM драйвера
Вопрос к спецам по звуку. Пишу ACM-драйвер для конвертирования звука из своего...

Массив из 1001 значения
Кому не составит труда, создайте, пожалуйста, массив из 1001 значения....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru