Форум Всеукраїнської інтернет-олімпіади NetOI


На форумі обговорюються лише питання, пов'язані з олімпіадою

Ви не зайшли.

#1 2006-10-24 21:49:41

igor
Новий користувач
Зареєстрований: 2006-01-13
Повідомлень: 4

В задаче Pool как правильно выводить данные

У меня такой вопрос насчет вывода. должно выйти в контрольном

тесте следубщее число 8.94427190999159Е+000 . У меня после

расчетовв моей программы получается 8.94427190999916E+0000 (при

выходной переменной типа double). Число приблизительно равное,

разница лиш в том что надо в конце три нуля, а их у меня

получается четыре, и в контрольном тесте написано "159Е" а у меня

"16Е". По сути задача решена правильно, но точность вывода данных

зависит от типа переменной, при Real вобще где после 5 цифры не

сходится. НУ так вот вопрос какой тип выходной переменной

необходимо использовать или с какой точность оценивается решение?

Поза форумом

 

#2 2006-10-24 21:51:52

Skiminok
Новий користувач
Звідки: Киев, Украина
Зареєстрований: 2006-01-19
Повідомлень: 144
Вебсайт

Re: В задаче Pool как правильно выводить данные

Журі NetOI-2006-Пасіхов написав:

Ihor написав:

С какой точностью результат будет считаться правильным ответом ?

В условии сказано "не округляя". При правильном решении любой из компиляторов обеспечит вам нужную для прохождения теста точность

См. топик "Задача Pool".
То есть, имхо, точность твоего алгоритма достаточная для прохождения.

Відредаговано Skiminok (2006-10-24 21:53:35)


Если вы с первого раза сумели написать программу, в которой транслятор не обнаружил ни одной ошибки, сообщите об этом системному программисту. Он исправит ошибки в трансляторе.
http://wwp.icq.com/scripts/online.dll?icq=282667777&img=5ICQ 282667777

Поза форумом

 

#3 2006-10-27 14:07:05

igor
Новий користувач
Зареєстрований: 2006-01-13
Повідомлень: 4

Re: В задаче Pool как правильно выводить данные

Ну так какой тип данных надо брать рил или другой

Поза форумом

 

#4 2006-10-27 16:48:59

FireTiger
Новий користувач
Звідки: Донецк
Зареєстрований: 2006-09-27
Повідомлень: 86

Re: В задаче Pool как правильно выводить данные

igor написав:

Ну так какой тип данных надо брать рил или другой

Бери эхтендед - точно не прогадаешь... smile


ICQ 339203772  - Если что-нибудь срочно необходимо - стучитесь, я отвечу! smile
----------------
Основная проблема с программистами заключается в том, что вы никогда не можете сказать, чем они занимаются, до тех пор, пока не будет слишком поздно.

Поза форумом

 

#5 2006-10-27 18:39:24

Dark_Dimius
Новий користувач
Звідки: /dev/null
Зареєстрований: 2005-11-17
Повідомлень: 136

Re: В задаче Pool как правильно выводить данные

FireTiger написав:

igor написав:

Ну так какой тип данных надо брать рил или другой

Бери эхтендед - точно не прогадаешь... smile

Тигер, не пости подсказок по решению - ето противоречит правилам олимпиады, она личная, не командная...


/*Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!
Некоторые люди на пальцах считают до 10, я же до 1023*/
Если надо помощь - стучитесь в асю, постараюсь помочь 99996414http://www.icq.com/scripts/online.dll?icq=99996414&img=5

Поза форумом

 

#6 2006-10-27 18:43:17

igor
Новий користувач
Зареєстрований: 2006-01-13
Повідомлень: 4

Re: В задаче Pool как правильно выводить данные

а это не подсказка по решению - в задаче не указано как именно надо выводить данные. Ведь при разных типах переменных выходит несколько разные ответы, хотя на самом деле зада решена правильно

Поза форумом

 

#7 2006-10-27 18:47:37

Dark_Dimius
Новий користувач
Звідки: /dev/null
Зареєстрований: 2005-11-17
Повідомлень: 136

Re: В задаче Pool как правильно выводить данные

igor написав:

У меня такой вопрос насчет вывода. должно выйти в контрольном

тесте следубщее число 8.94427190999159Е+000 . У меня после

расчетовв моей программы получается 8.94427190999916E+0000 (при

выходной переменной типа double). Число приблизительно равное,

разница лиш в том что надо в конце три нуля, а их у меня

получается четыре, и в контрольном тесте написано "159Е" а у меня

"16Е". По сути задача решена правильно, но точность вывода данных

зависит от типа переменной, при Real вобще где после 5 цифры не

сходится. НУ так вот вопрос какой тип выходной переменной

необходимо использовать или с какой точность оценивается решение?

Ответ зависит от компилятора, каждый округляет по своему-159 в FreePascal и DevPascal а в турбе 16


/*Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!
Некоторые люди на пальцах считают до 10, я же до 1023*/
Если надо помощь - стучитесь в асю, постараюсь помочь 99996414http://www.icq.com/scripts/online.dll?icq=99996414&img=5

Поза форумом

 

#8 2006-10-27 19:04:38

igor
Новий користувач
Зареєстрований: 2006-01-13
Повідомлень: 4

Re: В задаче Pool как правильно выводить данные

ну так короче получается если брать или екстендед или дабл или рил то получится одно и то же число? Ну это же не так!

Поза форумом

 

#9 2006-10-27 19:13:02

Black Phoenix
Новий користувач
Зареєстрований: 2006-09-12
Повідомлень: 5

Re: В задаче Pool как правильно выводить данные

Проверка не по-символьная, а по попаданию в диапазон

Поза форумом

 

#10 2006-10-27 19:14:30

Dark_Dimius
Новий користувач
Звідки: /dev/null
Зареєстрований: 2005-11-17
Повідомлень: 136

Re: В задаче Pool как правильно выводить данные

igor написав:

ну так короче получается если брать или екстендед или дабл или рил то получится одно и то же число? Ну это же не так!

отправь в онлайн проверку - пройдет со всеми т.к реализации sqrt в разных паскалях - разные. все ети значения ( авторского теста) ето sqrt(80) в разных компиляторах.


/*Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!
Некоторые люди на пальцах считают до 10, я же до 1023*/
Если надо помощь - стучитесь в асю, постараюсь помочь 99996414http://www.icq.com/scripts/online.dll?icq=99996414&img=5

Поза форумом

 

#11 2006-10-27 21:29:09

val
Новий користувач
Зареєстрований: 2006-10-27
Повідомлень: 4

Re: В задаче Pool как правильно выводить данные

А це нічого, що відповіді
8.94427190999      159Е+000
8.94427190999_ 9_16E+0000
відрізняються на одну 9 ???

Поза форумом

 

#12 2006-10-27 21:35:45

Dark_Dimius
Новий користувач
Звідки: /dev/null
Зареєстрований: 2005-11-17
Повідомлень: 136

Re: В задаче Pool как правильно выводить данные

val написав:

А це нічого, що відповіді
8.94427190999      159Е+000
8.94427190999_ 9_16E+0000
відрізняються на одну 9 ???

Ето уже обговаривалось у все также...(если хош - проверь там на самом деле sqrt(80)=8.9442719099991587856366946749251 девяток четыре)


/*Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!
Некоторые люди на пальцах считают до 10, я же до 1023*/
Если надо помощь - стучитесь в асю, постараюсь помочь 99996414http://www.icq.com/scripts/online.dll?icq=99996414&img=5

Поза форумом

 

Нижній колонтитул

Powered by Likt
© Copyright 2002–2009 Likt