【算法设计与分析】墓地雕塑

来源:互联网 发布:nginx request body 编辑:程序博客网 时间:2024/06/02 20:33

【题目】



【输入输出】



【样例】



【源代码】

<span style="font-family:Microsoft YaHei;font-size:24px;">#include<stdio.h>#include<iostream>#include<math.h>using namespace std;int main(){    int n,m;//n个雕塑,现在加入m个雕塑    double k,a=0,b;    while(scanf("%d%d",&n,&m) == 2)    {      double ans=0;      for(int i=1;i<n;i++)      {         double pos=(double)i*(n+m)/n;//计算每个需要移动的雕塑的坐标,设环的大小为n+m         ans+=fabs(pos-floor(pos+0.5))/(n+m); //找出与之最近的那个点,并且将其归到1,求累积移动距离      }      k=ans*10000;//放大10000倍     b=modf(k,&a);//判断输出的数是否有小数     if(b==0)        printf("%.1f\n",k);//有小数输出4为小数,否则输出一位     else        printf("%.4lf\n",k);    }    return 0;}</span>


1 0