Как записать эту формулу в C++

Никак не могу понять, как записать эту формулу, перепробовал кучу вариантов, но ни один не подходит. Вот последнее, на чем я остановился: pow(cos((3/8*M_PI-a/4)),2)-pow(cos((11/8*M_PI+a/4)),2); Буду рад любой помощиформула


Ответы (1 шт):

Автор решения: Harry

Ваша проблема, что вы написали 3/8 и 11/8, а не 3./8. и 11./8. - потому что вы написали целочисленное деление, которое выполняется с отбрасыванием дробной части, так что первая дробь у вас равна 0, а вторая - 1...

pow(cos((3./8.*M_PI-a/4)),2)-pow(cos((11./8.*M_PI+a/4)),2);

Надеюсь, a у вас имеет тип double? Не int, случайно?

Но я бы рекомендовал записать эту формулу как

sin(a/2.)/sqrt(2)

Так оно и проще, и быстрее...

→ Ссылка