C# 求取整数的阶乘

本文主要介绍如何使用C#实现求取一个整数的阶乘。

知识点

1、Switch...Case

判断语句,根据不同情况,返回不同结果

语法结构

csharp 复制代码
switch(Condition)
{
     case Condition1:
     		return Result1;
     case Condition2:
          return Result2;
      ....
      default:
         return Result3
}

2、字符串格式化

csharp 复制代码
 Console.WriteLine("{0}的阶乘为{1}", num, Factorial(num));

3、递归。可以简单理解为重复调用自身,但慎用,容易出现内存溢出情况

csharp 复制代码
        public static double Factorial(int num)
        {
            switch(num)
            {
                case 1://如果输入的数是1,则返回1
                    return 1;
                default:
                    return num * (Factorial(num - 1));
            }
        }

代码

csharp 复制代码
 static void Main(string[] args)
 {
     Console.WriteLine("请输入一个整数:");
     int num = Convert.ToInt32(Console.ReadLine());
     Console.WriteLine("{0}的阶乘为{1}", num, Factorial(num));
     Console.ReadKey();
 }

 public static double Factorial(int num)
 {
     switch(num)
     {
         case 1://如果输入的数是1,则返回1
             return 1;
         default:
             return num * (Factorial(num - 1));
     }
 }
相关推荐
2601_9687931412 分钟前
Python Requests 轻量自动化:无需浏览器,实现真人级账号浏览模拟
开发语言·python·自动化
eggwyw35 分钟前
关于C++为什么不加入垃圾回收机制解析
开发语言·c++
独泪了无痕9 小时前
探索Pinyin4j-Java中的拼音转换利器
java·后端
道尔柯南11 小时前
C++ string 类详解:从常用接口到深拷贝,彻底掌握字符串处理
android·java·c++
来让爷抱一个12 小时前
Python 异步里混用同步库,事件循环被卡住的全过程
开发语言·python
kingx312 小时前
Bugku 3122 谷歌小恐龙题解:纯离线逆向 Vault 的 AES-GCM 加密资源(附 Python 解密器)
java·逆向·ctf·bugku·aes-gcm
DevOpenClub14 小时前
职教高考控制线 API:招生类别枚举、筛选与空分数含义
java·数据库·高考
心祭丫丫14 小时前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
露天赏雪15 小时前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel
天天被压力15 小时前
【A股分钟级高频数据完全手册 #06】北交所分钟级数据接口:京市股票Pro版最新分时
java·人工智能·python