一例求∑n!的C++算法,带注释!

//求Σ1!+...+n! 即1~n的阶乘之和
#include<stdio.h>
#include<math.h>
main()
{ int i, n;
  float a1, sn;//因阶乘数增大后很快超出整型数字范围,需要定义为浮点数;
  i=1;
  a1=1,sn=0;
printf("请输入最大的阶乘数n;\n");
scanf("%d",&n);
printf("小计算1!,结果为:1\n");
   for (i=1;i<=n;i++)
   { sn=sn+a1;//初始,i=1时,即第一次,sn=0+1!=1;
     a1=a1*(i+1) ;//预计算,a1=1*(1+1)=2!;为下一次的循环提前做准备!
     printf("小计算%d!,结果为:%.0f\n",i+1,a1); //浮点类型,定义小数位为0,即不出现小数位;
     //i=2时,sn=1!+a1=1!+1*(1+1)=1!+2!;预计算,a1=a1*(2+1)=1*(1+1)*(2+1)=3!
     //i=3时,sn=1!+2!+3!;预计算,a1=a1*(3+1)=3!*(3+1)=4! 以此类推。。。
       }
printf("\n");
printf("以下为1到%d的阶乘之和:\n",n)    ;
printf("%.5e\n",sn);
}

:示例,输入n=10,编译结果:

时间: 2024-09-22 17:54:11

一例求∑n!的C++算法,带注释!的相关文章

关于IRIS数据集的Python分析-一份带注释的代码

所有内容都在python源码和注释里,可运行! ########################### #说明: # 撰写本文的原因是,笔者在研究博文“http://python.jobbole.com/83563/”中发现 # 原内容有少量笔误,并且对入门学友缺少一些信息.于是笔者做了增补,主要有: # 1.查询并简述了涉及的大部分算法: # 2.添加了连接或资源供进一步查询: # 3.增加了一些lib库的基本操作及说明: # 4.增加了必须必要的python的部分语法说明: # 5.增加了对

带注释的汇编指令大全

一.数据传输指令 ─────────────────────────────────────── 它们在存贮器和寄存器.寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令. MOV 传送字或字节.  如:MOV eax,11  意思:eax=11 MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. PUSH 把字压入堆栈. POP 把字弹出堆栈. PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈. POPA 把DI,SI,BP,SP,BX,DX,CX

PowerDesigner从Sqlserver中反转为带注释的字典及快捷键操作

PowerDesigner的操作经常忘记,所以把常用的功能记录下来备忘. 1.修改反转过来的字段 PowerDesigner从数据库反转的时候,默认不带注释,需要先进行修改. 输入如下脚本: {OWNER, TABLE, S, COLUMN, DTTPCODE, LENGTH, SIZE, PREC, COMPUTE, NOTNULL, IDENTITY, DOMAIN, DEFAULT, COMMENT, ExtIdentityIncrement, ExtIdentitySeed} selec

多线程中的生产者消费者Java源代码(带注释)

同步解决了线程中数据存取不一致的问题,而Object类中的等待与唤醒方法解决了重复存取的问题 以下的生产者消费者Java源代码例子,很好的说明了这一点. 其中包括Info类.Producter类.Consumer类.Test类. <1> Info类如下: 1 package per.producterconsumer; 2 3 public class Info { 4 5 private boolean flag = true; 6 /* 7 * flag=true 表示此时可以生产,但不能

PowerDesigner15.1创建模型及生成带注释sql操作手册

转自:http://blog.csdn.net/huiwenjie168/article/details/7824029 一.创建模型 操作:file-->new Model… 快捷键:ctrl+n 常用的以下两种: 1.概念模型(conceptual Data Model) 选择categories-->information-->conceptual Data-->ok创建概念模型 2.物理模型(Physical DataModel) 选择categories-->inf

mysql java 根据表名转为javaBean,下划线转驼峰,带注释,部分常用类型匹配。

-- mysql java 根据表名转为javaBean,下划线转驼峰,带注释,部分常用类型匹配 select concat( '/** ', COLUMN_COMMENT, ' */', 'private ', (case DATA_TYPE when 'varchar' then 'String ' when 'int' then 'Integer ' when 'double' then 'double ' when 'float' then 'double ' when 'datetim

Light OJ - 1026 - Critical Links(图论-Tarjan算法求无向图的桥数) - 带详细注释

 原题链接   无向连通图中,如果删除某边后,图变成不连通,则称该边为桥. 也可以先用Tajan()进行dfs算出所有点 的low和dfn值,并记录dfs过程中每个 点的父节点:然后再把所有点遍历一遍, 看其low和dfn,满足dfn[ fa ]<low[ i ](0<i<=n, i 的 father为fa) -- 则桥为fa-i. 找桥的时候,要注意看有没有重边:有重边,则不是桥. 另外,本题的题意及测试样例中没有重边,所以不用考虑重边. 带详细注释的题解: #include<s

求哈夫曼的带权路径长度

[问题描述] 已知输入两行正整数,第二行正整数之间用空格键分开,请建立一个哈夫曼树,以输入的数字为叶节点,求这棵哈夫曼树的带权路径长度. [输入形式] 首先第一行为输入正整数的个数,然后接下来的一行正整数,代表叶结点,正整数个数不超过1000个 [输出形式] 输出相应的权值 [样例输入] 5 4 5 6 7 8 [样例输出] 69 关于哈夫曼树-- 1. 路径长度 从树中一个结点到另一个结点之间的分支构成两个结点之间的路径,路径上的分支数目称做路径长度. 图1  从根节点到D节点的路径长度为4

[转]求最大公约数的算法

更相减损术 更相减损术,又称"等值算法" 关于约分问题,实质是如何求分子,分母最大公约数的问题.<九章算术>中介绍了这个方法,叫做”更相减损术”,数学家刘徽对此法进行了明确的注解和说明,是一个实用的数学方法. 例:今有九十一分之四十九,问约之得几何? 我们用(91,49)表示91和49的最大公约数.按刘徽所说,分别列出分子,分母. “以少减多,更相减损,求其等也,以等数约之,等数约之,即除也,其所以相减者皆等数之重叠,故以等数约之.” 译文如下: 约分的法则是:若分子.分母