factorial相关内容

阶乘的素因式分解

我需要编写一个程序来输入数字并以以下形式输出其阶乘的素因式分解: 4!=(2^3)*(3^1) 5!=(2^3)*(3^1)*(5^1) 问题是我仍然不知道如何获得该结果. 显然,括号中的每个第一个数字都是升序质数,直到实际阶乘为止.括号中的第二个数字是该数字在阶乘中出现的次数. 我不知道的是例如在5!=(2^3)*(3^1)*(5^1)中,如何在120(5!= 120)中 ..
发布时间:2020-11-03 21:49:26 其他开发

Prolog中的逆阶乘

有人可以帮助我找到在Prolog中获得逆阶乘的方法吗... 例如inverse_factorial(6,X) ===> X = 3. 我已经花了很多时间了. 我目前有阶乘,但我必须使其可逆.请帮助我. 解决方案 Prolog的谓词是关系,因此一旦定义了阶乘,就也隐式定义了逆.但是,常规算术是在Prolog中设置的,也就是说,必须在运行时知道(is)/2或(>)/2中的整个 ..
发布时间:2020-11-03 21:48:22 其他开发

了解阶乘递归

我正在查看递归的阶乘示例,只是想确保我正确理解了它! def factorial(n): if n == 0: return 1 else: return n * factorial(n - 1) 我说的对吗? 阶乘(4)=阶乘(4-1)* 4 =阶乘(3-1)* 3 * 4 =阶乘(2-1)* 2 * 3 * 4 =阶乘(1-1)* ..
发布时间:2020-11-03 21:48:18 Python

Prolog中的可逆数值计算

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

Coq:使用归纳证明两个阶乘函数相等

我想通过归纳证明在Coq中两个阶乘函数是等效的。 基本情况 n = 0 很容易,但是,归纳情况更加复杂。我知道,如果我可以将(visit_fac_v2 n'(n * a))重写为 n *(visit_fac_v2 n'a),我会做的。但是,将此想法转换为Coq会给我带来麻烦。 如何在Coq中证明这一点? Fixpoint fac_v1(n:nat):nat:= 用 匹配n | ..
发布时间:2020-10-09 06:44:06 其他开发

递归阶乘程序的复杂性

查找数字 n 的阶乘的递归程序的复杂性是什么?我的直觉是它可能是 O(n)。 解决方案 如果将乘法作为 O(1),那么可以, O(N)是正确的。但是,请注意,将任意长度 x 的两个数相乘不是 O(1)在有限的硬件上-随着 x 趋于无穷大,乘法所需的时间会增加(例如,如果您使用 Karatsuba乘法,它是 O(x ** 1.585))。 从理论上讲,您可以使用Schönhage-St ..
发布时间:2020-10-07 00:17:27 其他开发

“在所有控制路径上递归”。实现阶乘函数时出错

对于班级,我有一个作业: 编写一个C ++程序,该程序将输出选择 n 个对象( n 和 k 个对象$ c> k 应该是正整数)。此数字由以下公式给出: C(n,k)= n!/(k!*(n-k)!) 您的程序应使用两个返回值的函数。第一个应称为 factorial ,并应返回 n!。第二个函数应称为 combinations ,并应返回 n!/(k!*(n-k)!)。测试您的程序是 ..
发布时间:2020-10-06 23:48:47 C/C++开发

比较中超过了最大递归深度

我编写了这段代码来计算组合数量: def fact(n): 返回1 if(n == 1)else n * fact(n-1) def组合(n,k): return fact(n)/((fact(n- k)* fact(k))) while(True): print(combinations(int(input(input()),int(input()))) ..
发布时间:2020-10-05 22:01:07 Python

阶乘递归算法的复杂性

今天在课堂上,我的老师在黑板上写下了这种递归阶乘算法: int factorial(int n) { if (n == 1) return 1; else return n * factorial(n-1); } 她说费用为T(n-1) + 1. 然后她用迭代方法说T(n-1) = T(n-2) + 2 = T(n-3) + 3 ... ..
发布时间:2020-09-20 20:43:13 其他开发

在Java中计算大于int和long的数字的阶乘?

开始在这里和Google搜索几天,然后问我的编程朋友. 不幸的是,我仍然不知道如何更改我的代码... 我的程序计算给定数字的阶乘.然后提供一个数字,该数字表示阶乘答案包括的位数.然后将这些数字的值相加,得出一个总数. 我的程序可用于1之间的任何数字!和31!...如果您输入超过31! (例如50!或100!),它不起作用,只会返回减号而没有总数. 我希望你们能为我指出正确的方向或 ..
发布时间:2020-09-20 20:20:02 Java开发

在一定的底数中找到整数的阶乘的位数

我的解决方案非常快,但还不够.我需要更快.如何减少我的时间? 输入数字:n(0≤n≤1000000) 基数应为:基数(2≤基数≤1000) 输入5!在10个基地.输出为:3 输入22!在3个基地.输出为:45 时间限制:2秒,内存限制:32 MB 这是我用C语言编写的代码: #include #include int factorialD ..
发布时间:2020-09-18 19:07:07 其他开发

我正在使用ulong的100阶乘,但仍然溢出

所以我的任务是:我有100,并且必须打印阶乘的数字总和. 所以我写了代码,找到了一种很好的数字求和方式,但是我的代码不适用于数字100.我检查了10,它可以正常工作.我想到的第一步是,我必须将类型从int更改为更大的类型.我知道(阶乘)的结果将是一个很大的正数,所以我选择ulong,但仍然不起作用.我在这里检查了Stack Overflow,发现的唯一答案建议使用"BigInteger",但 ..
发布时间:2020-07-26 03:17:47 C#/.NET

Java阶乘格式

我的阶乘方法可以正常工作,尽管我想仅通过输出数字和阶乘结果来更改输出.例如,我希望用户输入6来表示6 * 5 * 4 * 3 * 2 * 1 = 720,而不是6的阶乘是:720. int count, number;//declared count as loop and number as user input int fact = 1;//declared as 1 S ..
发布时间:2020-07-23 01:02:15 Java开发