在C ++中查找给定圆的两个部分的最小角度差的程序
在本教程中,我们将讨论一个程序,以找到给定圆的两个部分的最小角度差。
为此,我们将提供分为n个部分的圆。我们的任务是将这两部分组合成两部分,以使这两部分所成角度的差异最小。
示例
#include <bits/stdc++.h>
using namespace std;
//返回最小差异
int findMinimumAngle(int arr[], int n) {
int l = 0, sum = 0, ans = 360;
for (int i = 0; i < n; i++) {
sum += arr[i];
while (sum >= 180) {
ans = min(ans, 2 * abs(180 - sum));
sum -= arr[l];
l++;
}
ans = min(ans, 2 * abs(180 - sum));
}
return ans;
}
int main() {
int arr[] = { 100, 100, 160 };
int n = sizeof(arr) / sizeof(arr[0]);
cout << findMinimumAngle(arr, n) << endl;
return 0;
}输出结果
40
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西