C. Polygon for the Angle 幾何數學
阿新 • • 發佈:2019-05-01
main fin define std namespace include inf polygon 數學
C. Polygon for the Angle 幾何數學
題意
給出一個度數 ,問可以實現的最小的n的n邊形是多少
思路
由n邊形的外角和是180度直接就可以算出最小的角是多少 如果給出的度數是其最小角的倍數並且在這個n邊形最大度數之內,那麽就可以得到了 直接從小到大枚舉n邊形即可
#include<bits/stdc++.h> using namespace std; const int maxn = 3e5+5; typedef long long ll; #define F first #define S second #define pb push_back #define pii pair<int ,int > #define mkp make_pair #define int double const int inf=0x3f3f3f3f; int32_t main(){ int t,ang; int ok=0; scanf("%lf",&t); while(t--){ ok=0; scanf("%lf",&ang); int k; for(int i=3;i<=1000000;i++){ k=ang/((180-360/i)/(i-2)); if(ang<=180-360/i&&k==int32_t(k)) { ok=1; cout<<i<<endl; break; } } if(!ok) cout<<-1<<endl; } return 0; }
C. Polygon for the Angle 幾何數學