CF-1096C Polygon for the Angle
CF-1096C Polygon for the Angle
https://codeforces.com/contest/1096/problem/C
题意:给一个角度ang(1<=ang<=180)
然后输出如图所示规则的最小正n边形的边数
分析:abc三点构成一个三角形,而三角形内角的比例就对应于它们各自对应的那段边数比。如图,54度对应三份,剩下的分别对应五份和两份。
所以,对于任意一个角度ang
,先求出g=gcd(ang,180)
,即每一边可以对应多少度,然后 n=180/g
即为正n边形的边数,wait wait!是不是有点太快了,别忘了我们的前提条件,我们是用三角形内角比例等于对应边数比得到的结论,我们要让它满足能够组成三角形这一条件,所以发现当 ang/180==(n-1)/n
时(想一想为什么是这样),就无法组成三角形(因为只剩下一份了,不够与ang组成三角形),这个时候只需将 n乘以2即可。
#include <bits/stdc++.h>
using namespace std;
int T,ang,n;
int main()
{
cin>>T;
while(T--)
{
cin >> ang;
int n = 180/__gcd(ang,180);
if(ang * n / 180 == n-1){
n*=2;
}
cout << n << endl;
}
}
CF-1096C Polygon for the Angle的更多相关文章
- C. Polygon for the Angle 几何数学
C. Polygon for the Angle 几何数学 题意 给出一个度数 ,问可以实现的最小的n的n边形是多少 思路 由n边形的外角和是180度直接就可以算出最小的角是多少 如果给出的度数是其最 ...
- 【数学】【CF1096C】 Polygon for the Angle
Description 给定一个角度 \(\theta\),请你寻找一个正 \(n\) 边型,满足在这个正 \(n\) 边型上找三个顶点 \(A,B,C\) (可以不相邻),使得 \(\angle A ...
- C. Polygon for the Angle(几何)
题目链接:http://codeforces.com/contest/1096/problem/C 题目大意:T是测试样例,然后每一次输入一个角度,然后问你在一个n边形里面,能不能构成这个角度,如果能 ...
- CF1096C Polygon for the Angle
思路: 要想到正n边形中所有可能的ang为180 * k / n (1 <= k <= n - 2). 根据n = 180 * k / ang, n是大于等于3的整数,并且n >= ...
- Educational Codeforces Round 57 (Rated for Div. 2)
我好菜啊. A - Find Divisible 好像没什么可说的. #include<cstdio> #include<cstring> #include<algori ...
- Educational Codeforces Round 57
2018.12.28 22:30 看着CF升高的曲线,摸了摸自己的头发,我以为我变强了,直到这一场Edu搞醒了我.. 从即将进入2018年末开始,开启自闭场集合,以纪念(dian)那些丢掉的头发 留 ...
- WPF学习05:2D绘图 使用Transform进行控件变形
在WPF学习04:2D绘图 使用Shape绘基本图形中,我们了解了如何绘制基本的图形. 这一次,我们进一步,研究如何将图形变形. 例子 一个三角形,经Transform形成组合图形: XAML代码: ...
- SVG的Transform使用
SVG的Transform使用: <%@ page language="java" contentType="text/html; charset=UTF-8&qu ...
- Educational Codeforces Round 57题解
A.Find Divisible 沙比题 显然l和2*l可以直接满足条件. 代码 #include<iostream> #include<cctype> #include< ...
随机推荐
- $.ajax()与vue结合获取数据并渲染
html: <div id="app1"> <ul> <li v-for="item in datas"> <div ...
- Python 数字模块
Python中的数字模块 math模块 random模块 Decimal模块 - 没有损失的小数 Fraction模块 - 可以计算分数
- 多线程:『GCD』详尽总结
本文用来介绍 iOS 多线程中 GCD 的相关知识以及使用方法.这大概是史上最详细.清晰的关于 GCD 的详细讲解+总结的文章了.通过本文,您将了解到:1. GCD 简介2. GCD 任务和队列3. ...
- [WOJ3010] 骰子
题目描述: 骰子是一个六面分别刻有一到六点的立方体,每次投掷骰子,理论上得到\(1\)到\(6\)的概率都是\(1/6\). 有骰子一颗,连续投掷\(n\)次,问点数总和大于等于\(X\)的概率是多少 ...
- CATIA 使用技巧--转换出轻巧的tif格式文件
问题描述: 我们在与客户和供应商打交道的过程中经常需要TIF格式2D图纸文件,而默认的CATIA设置保存出来TIF文件非常大,不利于保存和传送.对于该问题,我们可以通过修改CATIA的默认设置选项,将 ...
- ubuntu dpkg命令总结
dpkg是Debian系统的后台包管理器,类似RPM.也是Debian包管理系统的中流砥柱,负责安全卸载软件包,配置,以及维护已安装的软件包.由于ubuntu和Debian乃一脉相承,所以很多命令是不 ...
- 19 标签:xml或者html
1 标签:xml或者html 1.1 使用XmlSlurper解析xml groovy处理xml非常容易.XmlSlurper 类用来处理xml.在处理xml方面,还有其他的处理方式,但 ...
- Ubuntu-apt安装Jenkins
系统环境: Ubuntu 16.0.4 2CPU,8G 1.默认Ubuntu软件包里没有Jenkins 2.系统里添加存储密钥 wget -q -O - https://pkg.jenkins.io/ ...
- 转 Linux SendMail发送邮件失败诊断案例(四)
http://www.cnblogs.com/kerrycode/p/7826036.html
- Gym 101149I I - It's the Police
http://codeforces.com/gym/101149/problem/I 考虑下面这个例子 4 3 1 2 1 3 1 4 应该是选 0 0 1 1这样是最优的,我们不选1号,因为如果选1 ...