本文主要是介绍sdut第八届校赛--小厚的三角形,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接:点击打开链接
题目描述
一天,小厚的好朋友给了他n个面积为1的正三角形。小厚比较喜欢规整的形状,所以他想要用这些正三角形拼成一个正多边形。要求恰好拼为一个正多边形,不可裁剪,多边形内部也不能有空隙。小厚想知道他能拼出的最大的一个正多边形面积为多少。正三角形可以有剩余。
输入
多组输入,输入到文件结束(EOF)
每组输入,输入一个正整数n(1 <= n <= 1000)
每组输入,输入一个正整数n(1 <= n <= 1000)
输出
对于每组输入,输出一个正整数,表示拼出的最大正多边形的面积。
示例输入
1
2
6
示例输出
1
1
6
<span style="font-size:18px;">#include <iostream>
#include<cstdio>
#include<algorithm>
using namespace std;int main()
{int n;int a[2005];while(cin>>n){int q=0;int top=0;for(int i=1;i<=n;i+=2){q=q+i;a[top++]=q;a[top++]=q*6;}sort(a,a+top);for(int i=0;i<top;i++){if(a[i]>n){q=i-1;break;}}printf("%d\n",a[q]);}return 0;
}
</span>
这篇关于sdut第八届校赛--小厚的三角形的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!