第一步:让s=1,i=1
第二步输入要算的阶乘的对应的正整数n
第三步让s=si,i=i+1
第四步判断i是否大于n, 若大于打印出S
否则返回第三步
s=1 i=1 input n while i
用函数的递归调用的方法求n的阶乘问题和把一个整数
用for语句描述算法如下:
输入n; T:=1; for i:=1 to n do
begin T:=Ti; end. 输出T
扩展资料:
现在通用的阶乘符号是法国数学家克拉姆(Kramp, C)于1808年最先提出来的,后经德国数学家、物理学家格奥尔格·欧姆(Ohm, M)等人的倡议而流行起来,直用到现在。
例如所要求的数是n,则阶乘式是1×2×3×……×n,设得到的积是x,x就是n的阶乘。
参考资料来源:百度百科-阶乘
因为你用的是if(b<=n+1),只会执行一次,而且逻辑也有问题;
你可以试试
if (b<=n+1)
{ b=a+1;
y=(ab);
b++;
a=b;
}
替换成:
while(a<=n)
{
y=a;
a++;
}
程序编写本身问题,只不过阶乘增长特别快,很快就会溢出。
要计算任何数的阶乘,可以用数组存放数字,然自己写算法实现阶乘运算
关于警告
warning: no newline at end of file
你在程序最后面回车换行就好了
#include<stdioh>
main()
{
……
printf("该数的阶乘为 %d\n",p);
} //也就是在这里,大括号后面多打个回车
其实类似编程的错误和警告,你要先去看它说的什么
no newline at end of file (文件末尾没有换行)
大概就能看出是什么问题了,如果看不懂它说的什么,直接把那串英文复制到百度上查就是一大堆,就像你这次的no newline at end of file,很多的
学编程的人很多,大家遇到的问题也大同小异,网上各种各样的错误、警告都有人问,也很多人回答,所以你学习的时候直接把错误和警告复制粘贴百度差不多就能找到答案。
以上就是关于自然数阶乘 流程图全部的内容,包括:自然数阶乘 流程图、c++求阶乘的程序、c程序。求任何数阶乘等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)