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));
     }
 }
相关推荐
一晌小贪欢1 分钟前
Python-12 Python生成器与yield:惰性求值的艺术
开发语言·python·python基础·python3·python小白·python生成器
wearegogog1232 分钟前
使用MATLAB实现平方倍频法对DSSS/BPSK信号进行载频估计
开发语言·matlab
小二·4 分钟前
Spring框架入门:代理模式详解
java·spring·代理模式
Rock_yzh4 分钟前
LeetCode算法刷题——53. 最大子数组和
java·数据结构·c++·算法·leetcode·职场和发展·动态规划
简单的话*4 分钟前
Logback 日志按月归档并保留 180 天,超期自动清理的配置实践
java·前端·python
m***56725 分钟前
在Nginx上配置并开启WebDAV服务的完整指南
java·运维·nginx
蓝眸少年CY6 分钟前
Python科学计算 Numpy库
开发语言·python·numpy
困惑阿三7 分钟前
深入理解 JavaScript 中的(Promise.race)
开发语言·前端·javascript·ecmascript·reactjs
我命由我123459 分钟前
微信小程序 bind:tap 与 bindtap 的区别
开发语言·前端·javascript·微信小程序·小程序·前端框架·js
Mr.朱鹏13 分钟前
RocketMQ可视化监控与管理
java·spring boot·spring·spring cloud·maven·intellij-idea·rocketmq