UVA11646

来源:互联网 发布:淘宝csv数据包下载 编辑:程序博客网 时间:2024/04/29 05:56

题意:
给定一个圆弧边矩形,长a宽b,周长为400,且两边的圆弧同属一个圆。给出长宽比m:n,求长和宽

Text Box: Geometric Model

策略:列方程求解。
令k=n/m,则解出a = 200 / (1 + atan(k)*sqrt(1+k*k));





代码:



#include <iostream>#include <stdio.h>using namespace std;int main(){//    freopen("in.txt", "r", stdin);    int m, n;    int id = 1;    while(scanf("%d : %d", &m, &n)!=EOF){        double k = n*1.0/m;        double a = 200/(1+atan(k)*sqrt(1+k*k));        double b = a*k;        printf("Case %d: %.10lf %.10lf\n", id++, a, b);    }    return 0;}


原创粉丝点击