2 / 2 / 2
Регистрация: 25.11.2012
Сообщений: 27
|
|||||||||||
1 | |||||||||||
Округлить число до 25 знаков после десятичной точки30.11.2012, 22:55. Показов 6971. Ответов 9
Метки нет (Все метки)
Есть простая задача:
Но на сервере при проверке выдает ошибку - что ответ не верен. Еще в примере где входые/выходные данные: входной: 13 выходной: 2.7182818284590 если мы должни округлять то почему в примерах не округлено? число e = 2.7182818284590452353602875 при округлении до 13 символов, получиться 2.7182818284591, а не 2.7182818284590. В чем проблема? Я решил не округлять и попробовать на прямую вырезать в вставлять:
Так какое условие? или я что то не доконца понял?
0
|
30.11.2012, 22:55 | |
Ответы с готовыми решениями:
9
Вывести в выходной файл округленное до n знаков после десятичной точки число E Выведите в выходной файл округленное до n знаков после десятичной точки число E Функция, которая принимает в качестве параметров вещественное число и количество знаков после десятичной точки Число знаков после десятичной точки |
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|
01.12.2012, 01:02 | 2 |
тут Вам нужно почитать про математическое округление. Правильный ответ будет: 2.7182818284590
1
|
2 / 2 / 2
Регистрация: 25.11.2012
Сообщений: 27
|
|
01.12.2012, 11:46 [ТС] | 3 |
Спасибо, стесняюсь спросить... но почемуу так?
если дано: e = 2.7182818284590452353602875 при округлении до 25 знаков будет: 2.718281828459045235360288 т.к 5 >= 5 значет предыдушую цифру увеличиваем на 1 2.71828182845904523536029 2.7182818284590452353603 2.718281828459045235360 2.71828182845904523536 2.7182818284590452354 2.718281828459045235 2.71828182845904524 2.7182818284590452 2.718281828459045 2.71828182845905 2.7182818284591 - вот получается так... а в чем у меня ошибка ? что я не правильно делаю?
0
|
104 / 0 / 1
Регистрация: 16.11.2012
Сообщений: 41
|
|
01.12.2012, 11:50 | 4 |
Присоединяюсь, почему неправильно-то? Вроде 91 должно получиться.
0
|
2 / 2 / 2
Регистрация: 25.11.2012
Сообщений: 27
|
||||||
01.12.2012, 12:26 [ТС] | 5 | |||||
Как я помню при округлении есть такое привило: если первая отброшенная или замененная нулем цифра < 5, тогда ее оставляют без изменения, иначе увеличиваем на 1
Добавлено через 32 минуты Задачу решил, таким способом:
Так что это за кривое округление? если нам надо число e = 2.7182818284590452353602875 округлить до 13 знаков то получается 2.7182818284590 а если мы до стольких же знаков округлим постепенно, тоесть, сначало до 24, потом до 23,22,21 ... 13, то получиться 2.7182818284591 Вроде я не нарушая некаких привил математического округления не нарушал, а получились совершенно разные ответы. В чем причина?
0
|
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|
01.12.2012, 18:46 | 6 |
математическое округление - это округление не постепенно, а сразу, по правилу (Вы это правило сами описали):
0
|
104 / 0 / 1
Регистрация: 16.11.2012
Сообщений: 41
|
|
01.12.2012, 21:24 | 7 |
Википедия говорит,
Математическое округление — округление всегда в бо́льшую по модулю сторону (предыдущий разряд всегда увеличивается на единицу)
0
|
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|
02.12.2012, 07:18 | 8 |
Для этой задачи используйте вот это округление:
1
|
2 / 2 / 2
Регистрация: 25.11.2012
Сообщений: 27
|
|
02.12.2012, 18:54 [ТС] | 10 |
0
|
02.12.2012, 18:54 | |
02.12.2012, 18:54 | |
Помогаю со студенческими работами здесь
10
Выведите в выходной файл округленное до n знаков после десятичной точки число E Как в JS округлить число до целого? -до 2-х знаков впосле точки? Округлить число до 5 знаков после запятой Как округлить число до 2-х знаков после запятой? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |