题目
输入正整数n(0<n<7),求sum=1!+3!+5!+……(2n-1)!
一,for 循环嵌套 解法
#include <cstdio>
int main()
{
int n = 0;
scanf("%d", &n);//或scanf_s("%d", &n);
if (n > 0 && n < 7)
{
int i = 0, j = 0, b = 0, c = 0;
for (i = 1; i <= (2 * n - 1); i+=2)
{
b = 1;
//i!
for (j = i; j >= 1; j--)
{
b = b * j;
}
printf("%d !=%d \n", i, b);
c = c + b;
}
printf("和 = %d", c);
}
else printf("data error");
return 0;
}
二,递归算法
#include <cstdio>
int w(int n)//递归算法 计算阶乘
{
if (n == 1)return 1;
else return n * w(n - 1);
}
int h(int n)//递归算法
{
if (n <0)return 0;
else return w(n) + h(n - 2);
}
int main()
{
int n = 0;
scanf("%d",&n);//或scanf_s("%d",&n);
if (n > 0 && n < 7)
printf("和 = %d", h(2*n-1));
else
printf("data error");
return 0;
}