C++ 程序来计算我们可以制作出大小为 d 的十二边形的数量


假设我们有一个数字 d。假设有一个无限数量的边长为 1 的正方形和正三角形。我们必须找出使用这些瓷砖制作边长为 d 的正十二边形(12 边形)有多少种方法。如果答案太大,返回结果模 998244353。

步骤

要解决这个问题,我们将遵循以下步骤:

b := floor of d/2 - 1
c := 1
for initialize i := 2, when i < d, update (increase i by 1), do:
   b := b * (floor of d/2)
   c := c * i
return (b / c)

实例

让我们看看以下实现以更好地理解它们:-

#include <bits/stdc++.h>
using namespace std;

int solve(int d){
   int b = ((d << 1) - 1);
   int c = 1;
   for (int i = 2; i < d; i++){
      b *= (d << 1) - i;
      c *= i;
   }
   return (b / c);
}
int main(){
   int d = 1;
   cout << solve(d) << endl;
}

输入

1

输出

1

更新于:03-Mar-2022

92 次浏览

开启你的职业生涯

完成课程获得认证

开始
广告