A. Fancy Fence

本文介绍了Codeforces的一道编程问题,问题涉及几何和数学知识。题目要求判断一个能以特定角度建造角落的机器人是否能构建一个正多边形围栏。关键在于找出内角等于给定角度的正多边形是否存在。解决方案是检查角度是否能整除360度减去该角度的两倍,如果可以则表示存在这样的多边形。代码示例给出了C++实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Problem - A - Codeforces

Emuskald needs a fence around his farm, but he is too lazy to build it himself. So he purchased a fence-building robot.

He wants the fence to be a regular polygon. The robot builds the fence along a single path, but it can only make fence corners at a single angle a.

Will the robot be able to build the fence Emuskald wants? In other words, is there a regular polygon which angles are equal to a?

Input

The first line of input contains an integer t (0 < t < 180) — the number of tests. Each of the following t lines contains a single integer a (0 < a < 180) — the angle the robot can make corners at measured in degrees.

Output

For each test, output on a single line "YES" (without quotes), if the robot can build a fence Emuskald wants, and "NO" (without quotes), if it is impossible.

Examples

input

Copy

3
30
60
90

output

Copy

NO
YES
YES

Note

In the first test case, it is impossible to build the fence, since there is no regular polygon with angle .

In the second test case, the fence is a regular triangle, and in the last test case — a square.

思路:只要找到满足内角与正n多边形关系就行:内角=((n-2)*180)/n;

所以整理一下,只要n为整数就行,也就是移项后可以整除。

#include<iostream>
using namespace std;
int t,x;
int main()
{
    cin>>t;
    while(t--)
    {
        cin>>x;
        if((2*180)%(180-x)==0)cout<<"YES"<<endl;
        else cout<<"NO"<<endl;
        
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值