factorial相关内容

阶乘计算中的变量乘法

我正在编写一个脚本来计算给定数字的阶乘,但我在乘法方面遇到了一些问题。 注意:的阶乘为:9!=9*8*7*6*5*4*3*2*1 以下是我的代码: #!/bin/bash echo "Insert an Integer" read input if ! [[ "$input" =~ ^[0-9]+$ ]] ; then exec >&2; echo "Error: Y ..
发布时间:2022-09-23 10:07:13 其他开发

置换的阶乘时间复杂度

我只想检查以下代码是否具有阶乘时间复杂度。即O(n!)如果n是my_str中的字符数。据我所知是这样的,但我可能遗漏了一些东西。 def perms(a_str): stack = list(a_str) results = [stack.pop()] while stack: current = stack.pop() new_res ..
发布时间:2022-03-14 12:43:58 Python

使用加法的阶乘

我正在尝试创建一个 C 代码来查找整数的阶乘,以便我可以将我的代码转换为汇编语言.我的代码似乎将第二个整数“乘以"两次.即5 * 4 * 4 * 3 ...我似乎无法找出原因.请帮忙! #define N 5int main() {整数 j = 0;诠释 i = 0;整数 1 = N;int num2 = N - 1;整数总和 = 0;而(num2!= 0){而 (j ..
发布时间:2022-01-24 12:04:21 其他开发

在 Swift 3 中,当结果变得太高时如何计算阶乘?

我写了这个函数来返回给定数字的阶乘 func 阶乘(_ n: Int) ->诠释{如果 n == 0 {返回 1}别的 {返回 n * 阶乘(n - 1)}}打印(阶乘(20))//2432902008176640000 只要给定的数字不超过 20,就可以正常工作,因为那样结果就太高了! 我怎样才能绕过这个限制,从而计算更高数字的阶乘? 我四处搜索并找到了一些用于 Swift 的 ..
发布时间:2022-01-14 14:38:49 移动开发

如何在所有参数模式的后继算术中实现阶乘序列?

下面的 Prolog 程序定义了一个谓词 fact/2,用于在后续算术中计算整数的阶乘: 事实(0,s(0)).事实(s(X),Y):-事实(X,Z),产品(s(X),Z,Y).产品(0,_,0).产品(s(U),V,W):-总和(V,X,W),产品(V,U,X).总和(0,Y,Y).总和(s(X),Y,s(Z)):-总和(X,Y,Z). 它适用于这种参数模式下的查询: ?- 事实(s(0) ..

Prolog 中的可逆数值计算

在阅读 SICP 时,我遇到了逻辑编程第 4.4 章.然后我开始研究 Prolog 编程语言并尝试理解 Prolog 中的一些简单任务.我发现 Prolog 在数值计算方面似乎有问题. 这是标准 Prolog 中阶乘的计算: f(0, 1).f(A, B) :- A >0,C为A-1,f(C,D),B为A*D. 我发现的问题是我需要引入两个辅助变量(C 和 D),一个新的语法(is)和问 ..
发布时间:2022-01-12 10:02:36 其他开发

如何在 F# 中的函数中使用用户输入的值

我正在尝试在 F# 中创建一个简单的阶乘函数,该函数使用用户输入的值(使用控制台,我不知道这是否有任何区别),但我似乎找不到任何解决方案能够在我的函数中使用来自用户的值. 打开系统让 rec 事实 x =如果 x 它不断给我错误提示“这个表达式的类型应该是“int""但这里有类型“字符串".如果有人对如何使其正常工作有任何想法(或者至少可以告诉我需要做什么才能将用户输入的值转换为 INT, ..
发布时间:2022-01-05 09:41:31 其他开发

无法计算大于 20 的阶乘!!怎么做?

我使用无符号长整数格式来计算大阶乘.但是我的代码在某些时候失败了,你能看看吗?实际上,它是指数函数泰勒展开的较大代码的一部分,但此时该部分无关紧要.我将不胜感激任何建议. 谢谢 #include #include //我们需要事先写一个阶乘函数,因为我们//在分母中有阶乘.//记住阶乘是为整数定义的;它是//可以使用定义非整数的阶乘//Gamma 函数,但我们将忽略它.// ..
发布时间:2021-12-18 23:24:53 其他开发

JavaScript 中最快的阶乘函数是什么?

在 JavaScript 中寻找 factorial 函数的真正快速实现.有什么建议吗? 解决方案 您可以 搜索 (1...100)!在 Wolfram|Alpha 上预先计算阶乘序列. 前 100 个数字是: 1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600,6227020800,87178291200, ..
发布时间:2021-12-17 14:40:51 前端开发

理解阶乘递归

我正在查看递归的阶乘示例,只是想确保我正确理解它! def factorial(n):如果 n == 0:返回 1别的:返回 n * 阶乘(n - 1) 我说得对吗: 阶乘(4) = 阶乘(4-1) * 4 = 阶乘(3-1) *3 *4 = 阶乘(2-1) *2 *3 *4 = 阶乘(1-1) *1 *2 *3 *4 = 24 因为factorial(1-1) = factori ..
发布时间:2021-12-16 09:11:02 Python

C#:使用 Lambda 的递归函数

以下不编译: Funcfac = n =>(n 局部变量 'fac' 可能不是访问前初始化 如何使用 lambda 表达式创建递归函数? [更新] 这里还有两个我觉得有趣的链接: Eric Lippert 的“为什么递归 lambda 会导致明确的赋值错误?" C# 中的匿名递归 解决方案 C# 不支持这种特殊样式的函数作为单行声明.你必须把声明和定义分成两 ..
发布时间:2021-12-16 08:34:16 C#/.NET

快速计算 n!mod m 其中 m 是素数?

我很好奇是否有好的方法可以做到这一点.我目前的代码是这样的: def factorialMod(n, modulus):答案=1对于范围内的 i (1,n+1):ans = ans * i % 模数返回 % 模数 不过好像很慢! 我也无法计算 n!然后应用素数模数,因为有时 n 大到 n!明确计算是不可行的. 我还遇到了http://en.wikipedia.org/wiki/St ..
发布时间:2021-12-06 19:55:45 其他开发

快速精确 bigint 阶乘

我有一个定点 bignumber 库,想实现没有精度损失的快速阶乘. 在纸上做了一些数学技巧后,我得到了这个公式: (4N)!=((2N)!).((2N)!).{ (2N+1).(2N+3).(2N+5)...(4N-1) }.(2^N)/(N!) 这已经相当快了,而且通过一些编程技巧,复杂度接近~O(log(n)). 明确地说,我目前的实现是这样的: //----------- ..
发布时间:2021-12-06 19:39:11 C/C++开发

简单的 C++ 阶乘程序

作为作业,我需要一个程序来读取一个非负整数并计算并打印其阶乘.到目前为止,我编写了代码,但如果我尝试输入 50!结果为 0.它适用于较小的数字.任何帮助将不胜感激. #include 使用命名空间标准;int main(){整数计数器 = 1;整数;cout>数字;int阶乘=数字;而(计数器!=数字){阶乘 = 阶乘 *(数字 - 计数器);计数器++;}c ..
发布时间:2021-09-24 20:19:39 C/C++开发

C 中的阶乘程序在 20 之后是错误的

它一直工作到 20,但如果输入 21,它返回 1419745...当 21 阶乘实际上是 51090942171709440000.我假设这是因为 unsigned long 最大化,但是这个错误的数字(141...) 来自以及如何让程序计算出较大数字的阶乘? #include 无符号长事实(无符号长输入);int main(){整数输入;printf("输入一个整数来求阶乘:");scanf( ..
发布时间:2021-09-14 20:13:11 其他开发