Есть такая задача, условие ниже. Написал свой код - решение в 3 из 10 тестов неверное, формула вроде правильная, на тестовом условии тоже ответ верный. Где ошибка и как исправить? Скорее всего ошибка в формуле, я думаю
Мой код :
#include <cmath>
#include <fstream>
#include <iomanip>
using namespace std;
int main() {
ifstream inp;
ofstream otp;
inp.open("input.txt");
otp.open("output.txt");
const double pi = acos(-1);
double r = 0, l = 0, S = 0, a = 0;
inp >> l >> r;
S = pi * r * r;
if (l <= 2 * r) {
a = acos(l / 2 / r);
S -= 4 * (a * r * r - l / 2 * r * sin(a));
}
otp << fixed << setprecision(6) << S;
return 0;
}
Как вариант - чтоб без синусов арккосинусов :)
double a, r, pi = 3.1415926;
cin >> a >> r;
cout << setprecision(7);
if (2*r <= a) cout << pi*r*r;
else if (r >= a/sqrt(2.0)) cout << a*a;
else cout << pi*r*r*(1-4*acos(a/2/r)/pi)+2*a*sqrt(r*r-a*a/4);
cout << endl;
Виртуальный выделенный сервер (VDS) становится отличным выбором
Пытаюсь сделать GUI для своей программыПереключил тип с Console на GUI
В Map, в качестве ключа, я хочу искользовать собственный объект, ну положим Item, с переопределёнными методами hashCode и equalsНо когда я хочу получить...