1:求n的阶乘
(1)使用循环:
#include <stdio.h>
int Fac(int a)
{
int b = 0;
int ret = 1;
for (b =1; b <= a; b++)
{
ret*= b;
}
return ret;
}
int main()
{
int a, b=0;
scanf("%d", &a);
int ret = 0;
ret = Fac(a);
printf("%d", ret);
}
(2)使用递归:
#include <stdio.h>
int Fac(int a)
{
if (a <= 1)
return 1;
else
return a * Fac(a - 1);
}
int main()
{
int a, b=0;
scanf("%d", &a);
int ret = 0;
ret = Fac(a);
printf("%d", ret);
}
2:求n个斐波那契数 斐波那契数列: 1 1 2 3 5 8 13 21 34 55....
#include <stdio.h>
int Fib(int n)
{
if (n <= 2)
return 1;
else
return Fib(n - 1) + Fib(n - 2);
}
int main()
{
int n = 0;
int ret = 0;
scanf("%d", &n);
ret = Fib(n);
printf("%d", ret);
return 0;
}