2022暑期阿里笔试-正n变形选出3个点组成等腰锐角三角形

题目描述:正n变形选出3个点组成等腰锐角三角形,有多少中选择的方法
分析:
首先将正n边形分为三类:n = 3(内角全部为锐角), n = 4(内角全部为直角), n > 4(内角全部为钝角)
1. n = 3 时,res = 1
2. n = 4 时, res = 0
3. n > 4 时
数学知识:n个顶点在同一个外接圆上,如果想要组成一个等腰锐角三角形,必须要求三角形的底长小于直径,且三角形的中心是圆心。
假设三角形的底跨过x条边,那么在另一边可以构成等腰锐角三角形的条件是(n-x)%2 = 0(因为另一边只有偶数个边的时候,中间的那两个边的交点才可以作为等腰三角形的顶点),x的取值范围是[1,2..., (n-1) / 2]
那么固定跨过的边数x时,三角形的底可以有n种选择,当 (n - x) % 2 == 0时,可以作为等腰锐角三角形的底,注意有一种等边三角形的特殊情况,即 3 * x = n时,只有 x 种选择(因为三条边分别做底的时候时重复的)
综上答案就等于:
if (n - i) % 2 == 0: res += (3 * i == n ? i : n); i属于[1, (n-1) / 2]
全部评论
这个式子明显不对啊,n=5应该是5,你这个式子代入5得到的是10
点赞
送花
回复
分享
发布于 2022-03-05 11:27
我的式子是,ans =  n( (n-1)/2 - n/4 ) - (n%3 == 0)(2n/3),过了92%
点赞
送花
回复
分享
发布于 2022-03-05 11:28
秋招专场
校招火热招聘中
官网直投
讲讲选择题内容呗😃
点赞
送花
回复
分享
发布于 2022-03-05 11:53

相关推荐

5 16 评论
分享
牛客网
牛客企业服务