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));
     }
 }
相关推荐
白帽攻防录7 小时前
SRC 挖洞:PostScript 打印机驱动双 RCE,打印服务器怎么变成内网跳板
开发语言·网络安全·php·内网安全
聚美智数7 小时前
智能结构化识别-图片结构解析-图像结构化解析-照片结构化解析
android·java·数据库
十年Java程序媛7 小时前
Java枚举Enum完整教程|替代静态常量,开发与面试要点
java·开发语言·spring boot·后端·面试
我是人✓7 小时前
SpringBoot静态资源映射揭秘
java·spring boot·后端
2603_965148118 小时前
电商选品调研:通过关键词搜索API获取市场热销商品,结合商品详情API分析竞品卖点与定价
开发语言·数据库·人工智能·python·信息可视化
土豆.exe8 小时前
nf_tables 的 verdict 被读了两次:一个十年未闭合的位域错配
java·数据库·网络安全·缓存
xixiaoyunya8 小时前
Python 异步编程入门:用 asyncio 轻松实现并发任务
开发语言·python·php
学逆向的9 小时前
C 循环结构的执行效率分析
c语言·开发语言·数据结构·网络安全
小坏讲微服务9 小时前
刚发布一个月的JDK 27,为什么我建议你立刻升级?
java·开发语言·spring boot·spring·架构·求职招聘·springboot4
kunicoding9 小时前
多线程编程核心概念详解:从线程基础到并发安全
java·jvm·安全