Trở về đầu

foto1 foto2 foto3 foto4 foto5
Giảng viên
Nguyễn Tô Sơn - Thủ khoa Đại học Sư phạm Hà Nội
ĐT: 091.333.2869

HỌC TIN CÙNG THỦ KHOA

Thành công không phải đích đến, mà là cả một hành trình

Tìm kiếm

Mời các bạn xem nội dung tại đây: Click here

Cách tính hàm arcsin:

arcsin

Code bằng C++:

#include <bits/stdc++.h>

using namespace std;

const int maxn = 1000;
const double epsilon = 0.0001, pi = M_PI;
int n;
double a[maxn], L, R;

void Enter()
{
    freopen("duongtron.inp", "r", stdin);
    freopen("duongtron.out", "w", stdout);
    cin >> n;
    for (int i = 1; i <= n; i++)
        cin >> a[i];
}

void Init()
{
    L = 0, R = 0;
    for (int i = 1; i <= n; i++)
        R += a[i] * 2;
}

double SumAngle(double RR)
{
    double s = 0;
    for (int i = 1; i <= n; i++)
        s += 2 * asin(a[i] / (a[i] + RR));
    return s;
}

double Bin()
{
    double m;
    while (R - L >= epsilon)
    {
         m = (L + R) / 2;

         if (pi * 2 - SumAngle(m) > epsilon)
            R = m;
         else
            L = m;

         if (R - L < epsilon)
            return m;
    }
}

int main()
{
    Enter();
    Init();
    printf("%0.4lf", Bin());
    return 0;
}

Giảng viên Nguyễn Tô Sơn, Thủ khoa Đại học Sư phạm Hà Nội. Điện thoại: 091.333.2869