1.递归-计算指定参数的阶乘(求指定整数的阶乘)

复制代码
#include <stdio.h>
long fact(int a); //计算指定参数的阶乘
int main()
{
  
  //用循环求a的阶乘(注意输入参数不要超过12,会超过long的范围)
  int a = 4;
  long resutl = 1;
  for (int i = 1; i <= a; ++i)
  {
    resutl = resutl * i;
  }
  printf("%d!的阶乘为:\n",a );  
  printf("循环求阶乘:%ld\n", resutl ); 
  printf("递归求阶乘:%ld\n", fact(a));


    return 0;
}

long fact(int a)
{  
  return a == 1 ? a : a * fact(a-1) ;
}
复制代码

 

posted @   学而不思则罔!  阅读(224)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示