计算n阶乘
//int main()
//{
// int n = 0;
// scanf("%d\n", &n);
// int i = 1;
// int ret = 1;
// //迭代
// for (i = 1; i <= n; i++)
// {
// ret = ret * i;
// }
// printf("%d\n", ret);
// return 0;
//
//}
//n!=n*(n-1)*...*1
//Fac(n)=1, if n<=1
// =n*Fac(n-1),if n>1
有一些功能,可以使用迭代的方式实现,也可以用递归
//int Fac(int n)
//{
// if (n <= 1)
// return 1;
// else
// return n * Fac(n - 1);
//}
//int main()
//{
// int n = 0;
// scanf("%d\n", &n);
// int ret = Fac(n);
// printf("%d\n", ret);
// return 0;
//}
//1 1 2 3 5 8 13....
//求第n个斐波那契数?(不考虑溢出的问题)
//Fib = Fib(n-1)+Fib(n-2) if n>2
// =1,n<=2
//int Fib(int n)
//{
// if (n <= 2)
// return 1;
// else
// return Fib(n - 1) + Fib(n - 2);
//
//}
//int main()
//{
// int n = 0;
// scanf("%d", &n);
// int ret = Fib(n);
// printf("%d\n", ret);
// return 0;
//}
//int count = 0;
// 递归可以求解,但效率太低
//int Fib(int n)
//{看看第三个斐波那契数被计算过了几次
// if (n == 3)
// count++;
// if (n <= 2)
// return 1;
// else
// return Fib(n - 1) + Fib(n - 2);
//
//}
//int main()
//{
// int n = 0;
// scanf("%d", &n);
// int ret = Fib(n);
// printf("%d\n", ret);
// printf("count=%d\n", count);
// return 0;
//}
会有溢出的问题
//int Fib(int n)
//{
// int a = 1;
// int b = 1;
// int c = 1;
// while (n>2)
// {
// c = a + b;
// a = b;
// b = c;
// n--;
// }
// return c;
//}
//
//int main()
//{
// int n = 0;
// scanf("%d", &n);
// int ret = Fib(n);
// printf("%d\n", ret);
// return 0;
//}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律