这是题目
#include
int A(int a);
//借助排列组合
int main(int argc, char const* argv[])
{
int N, count = 1, n = 1;
scanf("%d", &N);
//分奇数偶数
if (0 == N % 2) {
//插空法
for (int i = 1; i <= N / 2; i++) {
n = 1;
for (int j = N - i; j >= N - 2 * i + 1; j--) {
n *= j;
}
count += n / A(i);//排列组合中的A的全排列
}
}
else {
for (int i = 1; i <= (N + 1) / 2; i++) {
n = 1;
for (int j = N - i; j >= N - 2 * i + 1; j--) {
n *= j;
}
count += n / A(i);
}
}
printf("%d", count);
return 0;
}
int A(int a) {
int n = 1;
for (int i = 1; i <= a; i++) {
n *= i;
}
return n;
}
希望可以帮我看看哪里出了问题,谢谢