当前位置:   article > 正文

Codeforces C. Polygon for the Angle

Codeforces C. Polygon for the Angle

大致题意

求一个最小的正n边形使得这个图形中的某三个顶点的连线所成的角等于ang

题目解析

正多边形的一个内角的内角的大小为180*(n-2)/n 我们可以发现一个内角可以被分为n-2个大小相等的小角,我们化简公式后会发现一个小角的大小为180/n ,然后我们能算出来小角的个数为n*i/180如果小角的个数小于等于枚举出的n-2我们就可以直接输出

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define int long long
  4. #define endl '\n'
  5. #define YES cout<<"YES"<<endl
  6. #define NO cout<<"NO"<<endl
  7. typedef long long ll;
  8. typedef pair<int,int> PII;
  9. const ll mod=1e9+7;
  10. const int INF=0x3f3f3f3f;
  11. const int N = 1e5+10;
  12. #define ios ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
  13. void solve()
  14. {
  15. int n;
  16. cin>>n;
  17. int f=0;
  18. for(int i=1;i<=998244353;i++)
  19. {
  20. if(n*i%180==0)
  21. {
  22. if(n*i/180<=i-2)
  23. {
  24. cout<<i<<endl;
  25. f=1;
  26. break;
  27. }
  28. }
  29. }
  30. if(!f)
  31. {
  32. cout<<-1<<endl;
  33. }
  34. }
  35. signed main()
  36. {
  37. int t;
  38. cin>>t;
  39. while(t--)
  40. {
  41. solve();
  42. }
  43. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/72580
推荐阅读
相关标签
  

闽ICP备14008679号