Форум программистов, компьютерный форум CyberForum.ru

Задача Корни - C++

Восстановить пароль Регистрация
 
HardLogin
 Аватар для HardLogin
52 / 52 / 1
Регистрация: 20.01.2013
Сообщений: 640
Записей в блоге: 1
03.03.2013, 11:26     Задача Корни #1
"Исходные данные
Входной поток содержит набор целых чисел Ai (0 ≤ Ai ≤ 1018), отделённых друг от друга произвольным количеством пробелов и переводов строк. Размер входного потока не превышает 256 КБ.
Результат
Для каждого числа Ai, начиная с последнего и заканчивая первым, в отдельной строке вывести его квадратный корень не менее чем с четырьмя знаками после десятичной точки." - Условие задачи, я не могу понять как прочесть данные в программу а так то просто.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2013, 11:26     Задача Корни
Посмотрите здесь:

C++ корни уравнения
C++ Рекурсия, квадратные корни.
Корни квадратного уравнения C++
Найти корни уравнения C++
Найти комплексные корни C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
03.03.2013, 12:07     Задача Корни #2
Цитата Сообщение от HardLogin Посмотреть сообщение
я не могу понять как прочесть данные в программу
C++
1
2
3
4
5
 double x;
 while (cin >> x )
 {
     // тут делаете что хотите с очередным считанным числом
 }
HardLogin
 Аватар для HardLogin
52 / 52 / 1
Регистрация: 20.01.2013
Сообщений: 640
Записей в блоге: 1
03.03.2013, 12:34  [ТС]     Задача Корни #3
а это сработает? напишите как например решить эту задачу таким способом. плиз
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
03.03.2013, 15:44     Задача Корни #4
Цитата Сообщение от HardLogin Посмотреть сообщение
напишите как например решить эту задачу таким способом.
например так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 #include <math.h>
 
 using namespace std;
 
 int main()
 {
   int i=0;
 double *mas=new double[132000], n;
 while (cin >> n )
 {
     mas[i] = (double) sqrt((double) n);
     i++;
 }
 i--;
 while (i>=0) {
 printf("%.5lf\n", mas[i]);
 i--;
 }
 
 return 0;
 }
HardLogin
 Аватар для HardLogin
52 / 52 / 1
Регистрация: 20.01.2013
Сообщений: 640
Записей в блоге: 1
03.03.2013, 16:17  [ТС]     Задача Корни #5
new double[132000]
а почему именно столько элементов?

Добавлено через 1 минуту
хм действительно она прошла на тимусе буду знать, так почему?
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
03.03.2013, 18:28     Задача Корни #6
Цитата Сообщение от HardLogin Посмотреть сообщение
а почему именно столько элементов?
это связано с фразой из условия:
Цитата Сообщение от HardLogin Посмотреть сообщение
Размер входного потока не превышает 256 КБ.
HardLogin
 Аватар для HardLogin
52 / 52 / 1
Регистрация: 20.01.2013
Сообщений: 640
Записей в блоге: 1
03.03.2013, 19:06  [ТС]     Задача Корни #7
я понял просто у меня с этими байтами неразборка можете полностю наисать выражение по которому вы получили число 132000, с коментами

Добавлено через 1 минуту
да кстати а почему у вас в принтф идет "%.5lf\n" а не "%.5f\n", что это?
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
03.03.2013, 19:35     Задача Корни #8
Цитата Сообщение от HardLogin Посмотреть сообщение
"%.5lf\n"
для типа double
HardLogin
 Аватар для HardLogin
52 / 52 / 1
Регистрация: 20.01.2013
Сообщений: 640
Записей в блоге: 1
03.03.2013, 20:17  [ТС]     Задача Корни #9
а ясно так как у вас то число вышло?
icpu
 Аватар для icpu
276 / 181 / 36
Регистрация: 10.03.2011
Сообщений: 863
Записей в блоге: 2
03.03.2013, 20:25     Задача Корни #10
256*1024/2
1024 - байт в килобайте, 2 - минимальное число символов на число (1 цифра 1 пробел)
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
03.03.2013, 20:38     Задача Корни #11
Цитата Сообщение от HardLogin Посмотреть сообщение
а ясно так как у вас то число вышло?
Вот как icpu посчитал, так и я считал. В "плохом" случае в тесте могут быть только однозначные числа и разделены лишь одни пробелом (переводом строки), и размер входного потока равен 256 КБ. В этом случае получится 256*1024/2 = 131072 символов (однозначных чисел и пробелов между ними). На этом варианте я и остановился, немного округлив значение. На самом деле можно взять еще в 2 раза меньше, тоже должно пройти.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2013, 20:48     Задача Корни
Еще ссылки по теме:

C++ Корни функции
Найдите корни уравнения C++
Найти корни уравнений ax^3+bx^2+cx=0 и y^3-ay^2-b=0, используя процедуру. Есть ли у этих уравнений совпадающие корни? C++

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

Или воспользуйтесь поиском по форуму:
HardLogin
 Аватар для HardLogin
52 / 52 / 1
Регистрация: 20.01.2013
Сообщений: 640
Записей в блоге: 1
03.03.2013, 20:48  [ТС]     Задача Корни #12
понятно спасибо
Yandex
Объявления
03.03.2013, 20:48     Задача Корни
Ответ Создать тему
Опции темы

Текущее время: 00:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru