http://codeforces.com/contest/1096/problem/C
题意 给你一个角度 问正几边形的的三个点可以画出来
思路 可以把正边形放在圆上 连接圆心,把360分成N分,对应的圆周角为圆心角的一半,注意至少为三变形,并且只能选n-2分
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a;
int t,i,j;
scanf("%d",&t);
while(t--)
{
scanf("%d",&a);
int ans = 0;
for(i=3;i<=360;i++)
{
for(j=1;j<i-1;j++)
{
if(180*j%i ==0&&180*j/i == a)
{
ans = i;
break;
}
}
if(ans) break;
}
printf("%d\n",ans);
}
return 0;
}
本文解析了CodeForces竞赛中一道关于正多边形几何问题的C题,通过算法计算给定角度下能构成的正多边形的边数。代码采用C++实现,遍历可能的边数并验证是否满足条件。
202

被折叠的 条评论
为什么被折叠?



