Здравейте,
имам нужда от малко помощ с довършването на задачата https://judge.telerikacademy.com/problem/01mathexp.
С този код https://pastebin.com/7zrVLYGv, case 10 и 11 са ми грешни отговори.
Някакви идеи?
Здравейте,
имам нужда от малко помощ с довършването на задачата https://judge.telerikacademy.com/problem/01mathexp.
С този код https://pastebin.com/7zrVLYGv, case 10 и 11 са ми грешни отговори.
Някакви идеи?
Нещо от закръглянето е проблема.
Когато сменя Math.floor(m % 180) на Math.round(m % 180) 10 и 11 минават
Но 8 и 9 гърмят 
Към обяд ще го погледна и ще ти кажа ако още не си го оправил.
Math.sin(Number(((BigInt(m*1000000)/BigInt(1000000)) % BigInt(180))));
така мина, благодаря за насоката 
Друг начин е да се използва функцията Math.trunc()
Math.sin(Math.trunc(m % 180))
В условието на задачата не е даден пример как трябва да се пресмята функцията M mod 180 при отрицателни стойности на M, откъдето условието може да се интерпретира по различни начини.
Разликата между Math.floor() и Math.trunc() се състои в това, че Math.floor(x) винаги е най-голямото цяло число, което не надвишава x, докато Math.trunc(x) е x с “отрязана” дробна част, т.е. Math.floor(x), ако x >= 0, и Math.ceil(x), ако x < 0. Например:
Math.floor(-3.2) == -4
Math.trunc(-3.2) == -3
Същият ефект има умножението  на x с подходящо цяло число q,  такова че q * x да бъде също цяло число, последвано от целочислено деление на q, както в решението на Петър.
Number(BigInt(-3.2 * 10) / BigInt(10)) == -3Насочи ме израза че подадените числа няма да са с повече от 6 знака след десетичната запетая, а това означaваше за мен че BigInt (евентуално?) ще се погрижи за закръглянето.
Чесно казано Math.trunc() ми бе попаднал на скоро в полезрението, но така и не вникнах в дълбочина в смисалът му, за което съм ти мн благодарен за разяснението 