版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fuckingone/article/details/82083866
#include<iostream>
#include<algorithm>
#include<cstring>
#include<math.h>
using namespace std;
const double PI = 3.1415926535898;
//余弦定理可知:
//b²=a²+c²-2ac×cosα
//正n边形每个内角的度数公式
//(n-2)*180/n
int main(){
int n,k;
float l;
float len;
float angle;
scanf("%d %d",&n,&k);
scanf("%f",&l);
angle=(n-2)*180/n;
len+=(n-1)*l;
for(int i=1;i<=k;i++){
len+=l/2;
l=2*(l/2)*(l/2)-2*(l/2)*(l/2)*cos(angle*PI/180);
l=sqrt(l); //余弦定理算出来是平方,要开方
len+=(n-1)*l;
}
printf("%f",len);
}
学好数学有必要啊,还有for循环可以写成 while(k--)