如何找到阶乘? [关闭]

2024-04-06

如何编写一个程序来求任意自然数的阶乘?


这适用于正整数的阶乘(尽管是一个非常小的子集):

unsigned long factorial(unsigned long f)
{
    if ( f == 0 ) 
        return 1;
    return(f * factorial(f - 1));
}

printf("%i", factorial(5));

由于您的问题的性质(以及您已承认的级别),此解决方案更多地基于解决此问题的概念,而不是下一个“排列引擎”中将使用的函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何找到阶乘? [关闭] 的相关文章

  • 找到一系列间隔的最有效分组

    我有一个应用程序 其中有一系列不重叠的固定宽度间隔 每个间隔都有一个给定的键 每个间隔具有相同的宽度 并且可以存在连续的间隔 本质上 我想以最小化单独间隔的数量的方式对间隔和键进行分组 这可以通过合并具有相同键的连续间隔或查找匹配间隔并将它
  • 点集子集的最小周长凸包

    给定平面上的 n 个点 没有 3 个共线 给定数字 k 找到 k 个点的子集 使得 k 个点的凸包在 k 个点的子集的任何凸包中具有最小周长 我可以想到一个简单的方法 运行时间为 O n k k log k 找到大小为 k 的每个子集的凸包
  • 时间复杂度和运行时间有什么区别?

    时间复杂度和运行时间有什么区别 它们是一样的吗 运行时间是指程序运行所需的时间 时间复杂度是对输入大小趋于无穷大时运行时间渐进行为的描述 您可以说运行时间 是 O n 2 或其他什么 因为这是描述复杂性类和大 O 表示法的惯用方式 事实上
  • 两组数的最小公等和及组合

    我目前正在用 C 创建一个程序 该程序将查找两组数字的尽可能低的相等总和 您可以在其中根据需要多次重复这些数字 比如我有这两套 10 13 18 and 12 16 22 我能得到的最低金额是28 10 18 and 12 16 另一个例子
  • Karasuba算法递归过多

    我正在尝试用 c 实现 Karasuba 乘法算法 但现在我只是想让它在 python 中工作 这是我的代码 def mult x y b m if max x y lt b return x y bm pow b m x0 x bm x1
  • 从三点求圆心的算法是什么?

    我在圆的圆周上有三个点 pt A A x A y pt B B x B y pt C C x C y 如何计算圆心 在Processing Java 中实现它 我找到了答案并实施了一个可行的解决方案 pt circleCenter pt A
  • 两个整数乘积的模

    我必须找到c c a b mod m a b c m 是 32 位整数 但 a b 可以超过 32 位 我正在尝试找出一种计算 c 的方法 而不使用 long 或任何 gt 32 位的数据类型 有任何想法吗 如果m是质数 事情可以简化吗 注
  • 用 C++ 生成 AST

    我正在用 C 制作一个解释器 到目前为止我已经有了词法分析器来生成标记 问题是我不确定如何生成 行走 解析树 我正在考虑使用数组数组来制作解析树 但我不确定如何以正确的顺序将标记实际插入到解析树中 我不确定是自上而下 左右还是自下而上 左右
  • 在常数空间中创建 1..N 的随机排列

    我正在寻找枚举固定空间中数字 1 N 的随机排列 这意味着我无法将所有数字存储在列表中 原因是 N 可能非常大 超过可用内存 我仍然希望能够一次遍历这样一个数字的排列 只访问每个数字一次 我知道对于某些 N 可以这样做 许多随机数生成器随机
  • 两个程序对象运行时比较的方法

    我正在进行一种特定类型的代码测试 该测试相当麻烦并且可以自动化 但我不确定最佳实践 在描述问题之前 我想澄清一下 我正在寻找合适的术语和概念 以便我可以阅读有关如何实现它的更多信息 当然 欢迎就最佳实践提出建议 但我的目标很具体 这种方法叫
  • 如何检查是否存在可能的路径?

    我正在开发一个基于 javascript 的实验性游戏 玩家必须在二维平铺地图上移动才能退出 请随意检查这个小提琴并演奏 http jsfiddle net moonlife 74vLd 我只是随机放置障碍物 但有时障碍物会挡住玩家和出口之
  • 绘制多边形

    我正在使用 Google Maps API V3 根据路径绘制多边形 该路径是随机未排序坐标点 LatLng 的数组 这会产生以下形状 Polylines intersect Problem 由于多边形的形状取决于路径中点的顺序 因此如何对
  • 子序列和

    给定一个整数数组 例如 1 2 3 1 查找是否存在总和为0并返回它 例如 1 2 3 or 2 3 1 检查每个子序列是O n 2 这效率太低了 有改进的想法吗 创建一个新数组 其中每个元素等于前一个元素加上该元素的总和 Input 1
  • 归并排序中递归树的高度log(n)+1是怎么来的

    我按照 stackoveflow 的建议阅读了一些问题和答案 我正在遵循 cormen 的 算法简介 一书进行自学 那本书里已经解释得很清楚了 但唯一没有解释的是如何在合并排序分析中计算树的高度 如果在后面的章节中对此进行解释的话 我仍然在
  • 举例解释bpe(字节对编码)?

    有人可以帮忙解释一下背后的基本概念吗BPE模型 除了这张纸 https arxiv org abs 1508 07909 目前还没有那么多解释 到目前为止我所知道的是 它通过将罕见和未知的单词编码为子词单元序列来实现开放词汇表上的 NMT
  • 这个方法比 Math.random() 更快吗?

    我是一名初学者 目前已经开始开发一款使用粒子群优化算法的 Android 游戏 我现在正在尝试稍微优化我的代码 并且 for 循环中有相当多的 Math random 几乎一直在运行 所以我正在考虑一种方法来绕过并跳过所有 Math ran
  • 用于开始和/或包含搜索的最快字符串集合结构/算法是什么

    我有以下情况 我有一个大的字符串集合 比如说 250 000 平均长度可能是 30 我要做的就是在这些搜索中进行许多搜索 大多数搜索都是 StartsWith 和 Contains 类型的 该集合在运行时是静态的 这意味着选择的集合的初始读
  • 以 O(1) 计算汉明权重 [重复]

    这个问题在这里已经有答案了 在二进制表示中 汉明权重是 1 的数量 我偶然发现了网络并找到了一个 O 1 的答案 v v v gt gt 1 0x55555555 v v 0x33333333 v gt gt 2 0x33333333 in
  • n 或 nlog(n) 比常数时间或对数时间更好吗?

    在 Coursera 上的普林斯顿教程中 讲师解释了遇到的常见增长顺序函数 他说 线性和线性算术运行时间是 我们努力的目标 他的推理是 随着输入大小的增加 运行时间也会增加 我认为这是他犯了错误的地方 因为我之前听过他提到线性增长顺序对于高
  • 为什么 C# Math.Ceiling 向下舍入?

    我今天过得很艰难 但有些事情不太对劲 在我的 C 代码中 我有这样的内容 Math Ceiling decimal this TotalRecordCount this PageSize Where int TotalRecordCount

随机推荐

  • 在centos中设置Docker_Opts

    我需要设置 docker 在运行 amazon linux centos 的主机上侦听 tcp 0 0 0 0 4243 我看到的所有文档都告诉我运行以下命令 echo DOCKER OPTS H tcp 127 0 0 1 4243 gt
  • 我如何在 Delphi 中进行线程处理的各种方法之间进行选择?

    看来我终于要在我的 Delphi 2009 程序中实现某种线程了 如果只有一种方法可以做到这一点 我就会逃跑 但我看到了几种可能性 谁能解释一下它们之间有什么区别以及为什么我会选择其中一个而不是另一个 Delphi 中的 TThread 类
  • Android 设备管理员权限活动未启动

    我正在尝试以设备管理员身份启用我的应用程序 尝试调用授予我的应用程序权限成为设备管理员的活动的代码如下 import android app Activity import android app admin DevicePolicyMan
  • 将字符串格式的日期转换为字符串日期前一天的 nsdate 结果

    我搜索了我的问题 但没有找到任何相关的帮助 故事 用户按名称 开始日期 结束日期和注释创建连续事件 因此将所有字段保存在 Sqlite 数据库中 两个日期格式均为 yyyy MM dd 之后 当用户想要对事件执行操作时 应用程序会检查用户选
  • 如何使用 OpenCV triangulatePoints

    我正在努力获取 OpenCVtriangulatePoints功能来工作 我正在使用该函数与光流生成的点匹配 我使用来自单个移动摄像机的两个连续帧 位置 目前 这些是我的步骤 给出了内在函数 看起来就像人们所期望的那样 2 6551e 00
  • 动态为mysql查询中的所有字段名分配别名

    我的 mysll 数据库中有 2 个表 两个表都有很少的固定列和很少的动态列 字段 架构 我想用以下查询连接这两个表 SELECT FROM cd cd LEFT JOIN cd n cn ON cd id cn fk cd 我想要的结果是
  • 在新维度中堆叠数组

    假设我有三个数组 k np array 1 1 2 2 m np array 3 3 4 4 n np array 5 5 6 6 理想情况下 我希望获得形状为 3 2 2 的最终数组 即 array 1 1 2 2 3 3 4 4 5 5
  • Scala 模式匹配引用

    当模式匹配案例类时 您实际上如何引用它所匹配的类 这是一个例子来说明我的意思 sealed trait Value case class A n Int extends Value v match case A x gt doSomethi
  • 大对象不能在自动提交模式下使用

    我正在开发一个使用 spring 和 hibernate 的应用程序 我们使用 postgresql 作为数据库 当我尝试将记录插入到具有 OID 列的表中时 会引发以下错误 org hibernate exception GenericJ
  • 未处理的异常:无法测试没有大小的渲染框

    所以我正在尝试重新创建一个 UI 模板 这是代码 我试图通过调用RecentlyViewed 添加另一个水平GridView 但重新加载后它无法呈现 我不知道如何渲染它 我尝试过使用扩展的小部件和灵活的但都不起作用 return Scaff
  • iOS:UICollectionViewCell根据屏幕尺寸自动调整大小

    我试图在集合视图中创建 10 个单元格 与屏幕大小相同 当我在 iphone5s 模拟器中运行我的应用程序时 视图恰好包含 5 个单元格 但是当我切换到 iphone6p 模拟器时 视图包含超过 5 个单元格 我应该如何调整单元格大小 以使
  • 在按钮上应用滤色器

    我有很多带有很多不同背景颜色的按钮 我想知道是否有办法在点击时应用一些滤色镜 例如 我希望所有按钮在单击时变得更暗 它们保留了原来的颜色 但颜色更深了 有没有一种简单的方法可以做到这一点 或者我必须为每个按钮定义较暗的颜色 Thanks 我
  • 制作一个包含我的列表项的文本文件并对其应用正则表达式

    我应该编写一个代码来读取包含一些具有一些常见语言特征的单词的文本文件 对所有单词应用一些正则表达式 并写入一个包含更改后的单词的文件 现在假设我的文本文件名为abcd txt有这些话 king sing ping cling booked
  • Popen.communicate() 抛出 UnicodeDecodeError

    我有这个代码 def executeCommand self command str input str None gt str p sub Popen command stdout sub PIPE stderr sub PIPE std
  • 在 Windows 窗体中列出(顶级)声明的变量

    创建表单的实例后 我可以轻松列出表单中的所有控件 有没有什么机制可以列出所有声明的变量或这样的物体 也许我会称它为声明 仅顶层声明就足够了 假设我们有MyForm具有此类顶级声明的表格 Dim Town as String Dim ZIP
  • 输出路径和 MSBuild

    我有一个包含 9 个项目的解决方案 每个项目中的所有引用都将其 CopyLocal 属性设置为 False 当我从 VS 构建它时 这些引用的二进制文件都不会复制到输出构建目录 同样 当我使用 msbuild 进行构建时 我只看到项目二进制
  • 使用现有表单将数据发送到 mailchimp,然后重定向

    我没有经常使用我的 mailchimp 所以我想知道是否可以在不使用预制模板的情况下轻松地将表单数据发送到 mailchimp 另外 mailchimp 会发送某种回调吗 我想提交表单 然后完成后它将用户重定向到下载页面 如果能在 ajax
  • 如何通过Linux中的终端检查窗口是否最小化

    如何通过 Linux 中的终端检查窗口是否最小化 name Window Title grep Map State 寻找IsViewable versus IsUnMapped 这些来自map state返回的字段XGetWindowAtt
  • Serilog:{..} 和 {@..} 之间的区别

    鉴于此代码 var d1 new x 5 y 88 Log Logger Information d1 d1 Log Logger Information d1 d1 d1 中的对象如何在两条 Log Logger Information
  • 如何找到阶乘? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何编写一个程序来求任意自然数的阶乘 这适用于正整数的阶乘 尽管是一个非常小的子集 unsigned long factorial u