标题:求满足整数角的多边形的个数
只看楼主
黑暗骑士5D
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2019-11-6
结帖率:100%
已结贴  问题点数:20 回复次数:10 
求满足整数角的多边形的个数

对于范围为[1,180]的每个整数角,找出边数在范围[3,10000]中的所有正多边形,满足a b c的三个顶点,并使∠abc=整数角。你的任务是求出所有角度的所有这些规则多边形有多少。

输入规格:
输入四个整数的角度范围和边数范围。 角度的最大范围是[1,180],侧面的最大范围是[3,10000]。

输出规格:
以整数形式输出结果。

输入样例:
54 54 3 10
样本输出:
1个
搜索更多相关主题的帖子: 范围 输出 输入 整数 多边形 
2019-12-05 23:57
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:5 
这题目实在看不懂,ab必须过圆心吗?bc必须隔一点顶点吗,可不可以bc本身就是其中一边?

用到的几何知识倒是简单:
    设共有n个顶点,a到c之间有m条边,那么 ∠abc = 180*m/n
例如你的图中 n=10, m=3,所以 ∠abc = 180*3/10 = 54
2019-12-06 10:14
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:5 
这是我超喜欢的类型题目,因为楼主把数学问题程序化了,从未对题意的理解上看:边数在范围[3,10000],跟图不匹配,图上共计10个点,所以应该是边数在范围[3,10],但是如果一定要是边数在范围[3,10000]的话,就临当别论了。还有就是楼上说ab必须过圆心吗?其实不一定过圆心。
2019-12-06 20:00
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
回复 2楼 rjsp
你没考虑B点的具体位置,在从A过B点到C点的这段路上,B的位置可以选择的点有6个,是不是这6个点都可以使满足条件的角ABC也是整数54(180*3/10=54)呢?我看未必。
2019-12-06 20:20
bcbbcclbbc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:194
专家分:528
注 册:2019-8-15
得分:5 
回复 4楼 自学的数学
是不是就是说题目给出的条件不足,我这么感觉楼主所给的题目读起来好费劲,比如
输入样例:
54 54 3 10
样本输出:
1个

输入规格:
输入四个整数的角度范围和边数范围。 角度的最大范围是[1,180],侧面的最大范围是[3,10000]。

输出规格:
以整数形式输出结果。

这个输入输出的说明和事例相差甚远
2019-12-07 10:08
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:554
专家分:3690
注 册:2019-7-29
得分:5 
我也对他的这个帖子比较感兴趣,就是对输入条件不太理解。

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2019-12-07 16:41
黑暗骑士5D
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2019-11-6
得分:0 
回复 2楼 rjsp
int main()
{
       int a1,a2,n1,n2;
       double m;
       int count=0;
       int a,n;
       scanf("%d %d %d %d",&a1,&a2,&n1,&n2);
       for(a=a1;a<=a2;a++)
       {
           if(180==a)
            break;
           for(n=n1;n<=n2;n++)
           {
               m=a*n/180.0;
               if(m==(int)(m)&&m>0&&m<=n-2)
                count++;
           }
       }
        printf("%d",count);
}
这是正确答案,但我没看懂
2019-12-08 20:09
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
楼主,你好,我想问你个问题,你原题里的“侧面的最大范围是[3,10000]”是什么意思?是不是正多边形的边数的取值范围。即正3边形到正10000边形。

[此贴子已经被作者于2019-12-8 21:20编辑过]

2019-12-08 20:42
黑暗骑士5D
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2019-11-6
得分:0 
回复 8楼 自学的数学
是的,正多边形的边数可在3到10000之间取
2019-12-08 21:24
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
根据我对这道题目的理解,我做了大量的理解,现在总结如下:
边数  正多边形内角总度数  每个正多边形的内角度数  满足条件的角的度数(含非整数,最后还要被去除)                                              满足条件的角的个数
3          180                 60                   60                                                                                           1
4          360                 90                   90 45 45                                                                                     3
5          540                108                   108 72 36 72 36 36                                                                           6
6          720                120                   120 90 60 30 90 60 30 60 30 30                                                               10  
7          900                  
8          1080               135                   135 112.5 90 67.5 45 22.5 112.5 90 67.5 45 22.5  90 67.5 45 22.5 67.5 45 22.5 45 22.5 22.5   21         
.。。。。。
10000      (10000-3)*180   179.946                .。。。。。
2019-12-08 21:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-498237-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.527249 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved