Вопрос № 30565: Здравствуйте. у меня возникла некоторая неразбериха с математическими функциями.
пишу на Билдер 6, но библиотека (math.h) стандартная, так что это роли не играет.
я несовсем понимаю какие тригонометрические функции в каком типе возвращают дан...Вопрос № 30582: Подскажите пожалуйста,как в C++ написать програму чтобы она выводила в каком числе из двух чисел больше делителей....
Вопрос № 30.565
Здравствуйте. у меня возникла некоторая неразбериха с математическими функциями.
пишу на Билдер 6, но библиотека (math.h) стандартная, так что это роли не играет.
я несовсем понимаю какие тригонометрические функции в каком типе возвращают данные
написал маленькую прогу (в приложении).
Короче как я понял atan(a) возвращает значение в радианах, а синус, косинус и тангенс в чем?
сравниваю результаты проги с калькулятором - не сходится.
где я глючу?
Зарание спасибо
Приложение:
Отправлен: 01.12.2005, 10:32
Вопрос задал: PROD (статус: 1-ый класс)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Shekk
Здравствуйте, PROD!
Ну, в любом случае sin cos и tan будут возвращать значение БЕЗРАЗМЕРНОЙ величины, ибо это отношение.
Видимо, это double
а принимают они значение в радианах.
(в отличие от atan, который принимает безразм. величину. )
то есть в первых двух строчках a - в радианах
а в третьей - безразмерное...
--------- ...all these moments will be lost in time...
Ответ отправила: Shekk (статус: 1-ый класс)
Отправлен: 01.12.2005, 17:24 Оценка за ответ: 5
Отвечает: Ataman N. N.
Здравствуйте, PROD!
Есть такие таблицы Брадиса. Так вот функции sin, cos, tan возвращают числа по этой таблице. Все зависит от того, что вы передаете в качестве параметра. По умолчанию функции принимают радианы, т.е. если вы пишите a=sin(30), то вы получите синус 30 радиан. Для перевода в градусы можно воспользоваться простыми математическими уравнениями, например a=sin(30*PI/180)-выдаст синус 30 градусов. PI=3.14........-мат. константа.
Ответ отправил: Ataman N. N. (статус: 3-ий класс)
Отправлен: 01.12.2005, 18:00 Оценка за ответ: 5 Комментарий оценки: спасибо, работает
Отвечает: Raptor1
Здравствуйте, PROD!
Синус, косинус и тангенс не имеют единиц измерения, а вот аргумент для них задается в радианах, а на калькуляторе у тебя небось в градусах, вот и расходятся результаты. Переводи градусы в радианы исходя из того, что 180 градусов это пи-радиан, а потом вычисляй значение этих функций.
Ответ отправил: Raptor1 (статус: Студент)
Отправлен: 02.12.2005, 23:05
Вопрос № 30.582
Подскажите пожалуйста,как в C++ написать програму чтобы она выводила в каком числе из двух чисел больше делителей.
Отвечает: estiGi
Здравствуйте, Осипов Ефрем Васильевич!
А что такое делитель? :)) Если ты имеешь в виду все числа, на которые делится число без остатка, то как то так -
Приложение:
Ответ отправил: estiGi (статус: 8-ой класс)
Отправлен: 01.12.2005, 15:48
Отвечает: Raptor1
Здравствуйте, Осипов Ефрем Васильевич!
Короче тебе надо разлагать числа на простые делители ? Насколько я знаю в общем виде для чисел любого размера эта задача не решена, но если числа не большие, например DWORD, то можно найти перебором, перебрав для числа N все числа от 2 до N/2. Правда придется определять и простоту каждого из делителей. Задачу удобно решать с помощью рекурсии.
Ответ отправил: Raptor1 (статус: Студент)
Отправлен: 02.12.2005, 23:05