首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >阶乘数系算法的形式证明

阶乘数系算法的形式证明
EN

Stack Overflow用户
提问于 2020-12-15 23:58:22
回答 1查看 116关注 0票数 1

我想出了一个算法,用于在阶乘数系统中找到给定数字的表示。我很难用正式的方式证明它的正确性。以下是Python中的代码(请注意k!= s):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def fns(n):
    s = 1
    k = 1
    while s * (k + 1) <= n:
        k = k + 1
        s = s * k
    while k >= 1:
        print(n // s, end = "")
        n = n % s
        s = s // k
        k = k - 1
EN

回答 1

Stack Overflow用户

发布于 2020-12-16 01:50:07

实际上,很难“证明”一个带有"print“语句的程序。最好是将值附加到列表中,然后打印或返回列表,以便。你有一些理由可以反驳。因此,让我们假设您在某处拥有result = [],并且您的"out +=“语句是result.append(n//s)

所以。您有两个循环,并且需要两个循环不变量。对于第一次查看,您需要显示该s = k!。对于第二个循环,您需要显示附加了k零的resultthe_value_of_n_passed_as_an_argument_to_the_function - n的阶乘表示。这两个都应该是相对简单的。最后,您得到了k == 0,这意味着resultn原始值的阶乘表示。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65315399

复制
相关文章
一阶微分不变性_二阶微分形式表示
dy = d(f。g(x)) = f(1)(u)g(1)(x)dx ,其中u=g(x).
全栈程序员站长
2022/09/20
5100
阶乘数列
If stripped of the ideal life dreams, that life is only a pile of shell.
小Bob来啦
2020/12/16
4730
阶乘数列
欧几里得算法及其证明
\forall a,b\in \mathbb{N},gcd(a,b)=gcd(b, a\ mod\ b) 。
fishhh
2022/04/24
4470
算法-数组形式的整数加法
版权声明: https://blog.csdn.net/li_xunhuan/article/details/90200722
Fisherman渔夫
2019/07/31
5020
欧几里得算法及其证明
定义 证明 代码实现 复杂度 int gcd(int a,int b){ return b?gcd(b,a%b):a; } 迭代更新 int gcd(int a,int b){
fishhh
2022/08/31
4340
欧几里得算法及其证明
PoW工作量证明算法
在区块链中面临的最大问题就是双重支付问题,就是在网络中某一个恶意节点去散布两种不同的交易,并且这两种交易是相互矛盾的,就是导致网络中其他好人节点看到两条链,那么整个网络为了解决这个问题需要通过一些协议去进行投票而达到一致,占票高的链被写入区块链,占票少的就不会写入区块链。
可爱见见
2019/09/09
5310
CORDIC算法详解(五)-统一的 CORDIC 算法形式
网上有很多类似的介绍,但是本文会结合实例进行介绍,尽量以最简单的语言进行解析。   CORDIC ( Coordinate Rotation Digital Computer ) 是坐标旋转数字计算机算法的简称,由 Vloder• 于 1959 年在设计美国航空导航控制系统的过程中首先提出[1], 主要用于解决导航系统中三角函数、 反三角函数和开方等运算的实时计算问题。 1971 年, Walther 将圆周系统、 线性系统和双曲系统统一到一个 CORDIC 迭代方程里 , 从而提出了一种统一的CORDIC 算法形式[2]。   CORDIC 算法应用广泛, 如离散傅里叶变换 、 离散余弦变换、 离散 Hartley 变换、Chirp-Z 变换、 各种滤波以及矩阵的奇异值分解中都可应用 CORDIC 算法。 从广义上讲,CORDIC 算法提供了一种数学计算的逼近方法。 由于它最终可分解为一系列的加减和移位操作, 故非常适合硬件实现。 例如, 在工程领域可采用 CORDIC 算法实现直接数字频率合成器。 本节在阐述 CORDIC 算法三种旋转模式的基础上, 介绍了利用 CORDIC 算法计算三角函数、 反三角函数和复数求模等相关理论。 以此为依据, 阐述了基于 FPGA 的 CORDIC 算法的设计与实现及其工程应用。
碎碎思
2020/06/28
1.6K0
Paxos算法的数学归纳法证明
表面上看,Paxos像是一个Quorum算法再加上二阶段提交(2PC)。但并非是的二者相加。
sean.liu
2022/09/07
5190
Kosaraju算法、Tarjan算法分析及证明--强连通分量的线性算法
一、背景介绍 强连通分量是有向图中的一个子图,在该子图中,所有的节点都可以沿着某条路径访问其他节点。强连通性是一种非常重要的等价抽象,因为它满足 自反性:顶点V和它本身是强连通的 对称性:如果顶点V和顶点W是强连通的,那么顶点W和顶点V也是强连通的 传递性:如果V和W是强连通的,W和X是强连通的,那么V和X也是强连通的 强连通性可以用来描述一系列属性,如自然界中物种之间的捕食关系,互相捕食的物种可以看作等价的,在自然界能量传递中处于同一位置。 下图中,子图{1,2,3,4}为一个强连通分量,因为顶点1,2,
老白
2018/03/19
2.7K0
Kosaraju算法、Tarjan算法分析及证明--强连通分量的线性算法
讨厌算法的程序员 2 | 证明算法的正确性
第1篇介绍了插入排序算法,这里要提出一个问题:学习算法仅仅是积累一个又一个的算法实现吗? 当然不是。比算法本身更重要也更基础的,是对算法的分析:能够证明其正确性,能够理解其效率。这也是自行设计新算法的
用户1332428
2018/03/08
9300
讨厌算法的程序员 2  | 证明算法的正确性
零阶矩、一阶矩、二阶矩、三阶矩
In mathematics, a moment is a specific quantitative measure, used in both mechanics and statistics, of the shape of a set of points.
全栈程序员站长
2022/07/21
1.7K0
考研竞赛每日一练 day 27泰勒展开估阶证明导数满足的关系
泰勒展开估阶证明导数满足的关系 若函数 f(x) 在 [0,1] 在二阶可微,且 f(0)=f(1) , |f^{''}(x)|\leq 1 ,证明:在 [0,1] 上 |f^{'}(x)|\leq \dfrac{1}{2} 解析:利用泰勒公式,有 f(x)=f(x_{0})+f^{'}(x)(x-x_{0})+\dfrac{1}{2!}f^{''}(\xi)(x-x_{0}^2)\qquad(x_{0} < \xi < x) 取 x_{0}=0,1 ,则有 f(0)=f(x_{0})-f^{'}(x_{0
用户9628320
2022/11/23
2870
讨厌算法的程序员 2 - 证明算法的正确性
第1篇介绍了插入排序算法,这里要提出一个问题:学习算法仅仅是积累一个又一个的算法实现吗? 当然不是。比算法本身更重要也更基础的,是对算法的分析:能够证明其正确性,能够理解其效率。这也是自行设计新算法的
袁承兴
2018/04/11
1.5K0
讨厌算法的程序员 2 - 证明算法的正确性
巧用递归求阶乘数列
描述:用递归求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字。
小Bob来啦
2020/12/16
8680
巧用递归求阶乘数列
拉格朗日乘数法
在数学最优问题中,拉格朗日乘数法(以数学家约瑟夫·路易斯·拉格朗日命名)是一种寻找变量受一个或多个条件所限制的多元函数的极值的方法。这种方法将一个有n 个变量与k 个约束条件的最优化问题转换为一个有n + k个变量的方程组的极值问题,其变量不受任何约束。本文介绍拉格朗日乘数法(Lagrange multiplier)。 概述 我们擅长解决的是无约束极值求解问题,这类问题仅需对所有变量求偏导,使得所有偏导数为0,即可找到所有极值点和鞍点。我们解决带约束条件的问题时便会尝试将其转化为无约束优化问题
为为为什么
2022/08/05
9940
拉格朗日乘数法
使用坐标系分析Paxos算法
建议先阅读Paxos算法学习笔记。然后将算法流程代入图中,分析算法在两个阶段中可能发生的情况。这会让你对Paxos算法有更加深刻的印象。
sean.liu
2022/09/07
3050
使用坐标系分析Paxos算法
算法学习笔记之一阶低通滤波算法
一阶滤波,又叫一阶惯性滤波,或一阶低通滤波。是使用软件编程实现普通硬件RC低通滤波器的功能。
全栈程序员站长
2022/06/30
1.1K0
数值优化(9)——非线性规划中的极值性质,KKT条件
——————————————————————————————————————————————
学弱猹
2021/08/09
1.5K0
谁是史上最强将领?算法证明:拿破仑
编者按:本文编译自towardsdatascience原标题为Napoleon was the Best General Ever, and the Math Proves it的文章。
ACM算法日常
2018/08/07
7360
谁是史上最强将领?算法证明:拿破仑
【算法与数据结构】奇数阶魔方阵
前端修罗场
2023/10/07
2640

相似问题

无特定形式超大整数的素数证明算法

14

算法证明

12

GC算法的O阶

13

基本算法证明

22

贪婪算法的证明

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文