zzuoj1882: 蛤玮的魔法

1882: 蛤玮的魔法

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 284   Solved: 83

Submit Status Web Board

Description

为了成为魔法少女,蛤玮正在学习画魔法阵,他首先画了一个正n边形,查阅魔法书后蛤玮发现书上要求魔法阵的面积不能超过L,他很头疼,因为用尺规作这个正n边形花了他好大经历,他不想重新画一边,于是他想了个好主意,把每条边的中点依次连起来,就能得到一个缩小的正n边行.现在蛤玮想知道他需要按着个方法缩小多少次才能合乎魔法书上的要求.

Input

T(1<=T<=100),表示数据组数.
每组数据三个整数n(3<=n<=10),a(1<=a<=100),L(1<=L<=1000),其中a表示蛤玮画的正n边行的边长,n,L如题中描述.
数据保证[L-1e-5,L+1e-5]内答案唯一.

Output

每组数据输出一个整数,表示蛤玮操作的次数.

Sample Input

14 2 3

Sample Output

1

几何题目:判断面积是否小于L,如果不是的话,则取每条边的中点,然后依次连接相邻的中点,再次求面积,直到小于L

#include<iostream>
#include<cmath>
using namespace std;
const double pi=acos(-1);
int main()
{
    int t,k;
    double n,a,s,sn;
    cin>>t;
    while(t--)
    {
        k=0;
        cin>>n>>a>>s;
        sn=1/(4*1.0)*(n*a*a*cos(pi/n)/sin(pi/n));
        while(sn>s)
        {
            k++;
            a=(a)*cos(pi/n);
            sn=1/(4*1.0)*(n*a*a*cos(pi/n)/sin(pi/n));
        }
        cout<<k<<endl;
    }
}


你可能感兴趣的:(ACM)