Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

В Си синус возвращает число с плавающей точкой. Если у меня реализация программы полностью на целочисленной арифметике?

На входе целые числа, на выходе целые. Как вычислить синус?

По дате
По рейтингу
Аватар пользователя
Новичок

сказали, что синус от -1 до 1... Возьми и масштабируй синус умножением на 100, например, и отбрось оставшуюся дробную часть

Аватар пользователя
Высший разум

auto a = 5, b = 7;
auto c = static_cast<int>(a * sin(b) + b * sin(a));
cout << c << '\n'

Аватар пользователя
Высший разум

Как ты себе представляешь целочисленный синус, если весь диапазон его значений: [-1;1]?
При каких значениях x синус будет принимать значения -1, 0, 1 (а других целочисленных значений у синуса быть не может)?

Аватар пользователя
Искусственный Интеллект

Гм... Да никак.
Оставим даже возвращаемые синусом значения - в конце концов, ты можешь всегда просто отбросить дробную часть результата. Но! Период синуса - два пи. Т. е. у тебя может быть только синус - 0 1 2 3 4 5 или 6. Выглядит как полный бред, не находишь?

Аватар пользователя
Просветленный

Скинь условие задачи целиком