C语言 实现N阶乘的程序代码
#include <stdio.h>
#include <stdlib.h>
#define N 10 //算N的阶乘
int main()
{ //数组 1位 1!
int ary[N] = {1, 1};
int i, j;
for (i = 2; i <= N; i++)
{
//各个下标的阶乘,第0位下标是位数,所以从第1位开始
for (j = 1; j <= ary[0]; j++)
{
ary[j] = ary[j] * i;
}
//处理进位问题 1W就进一位
for (j = 1; j <= ary[0]; j++)
{
if (ary[j] >= 10000)
{
//进位
ary[j+1] = ary[j+1] + ary[j] / 10000;
//进位后就只留下余数
ary[j] = ary[j] % 10000;
}
}
//有进位的话,位数就+1
//这里j已经是位数大于1了
if (ary[j] >= 1)
{
ary[0]++;
}
}
//倒序输出
for (j = ary[0]; j > 0; j--)
{
printf("%d", ary[j]);
}
printf("\r\n");
return 0;
}
相关推荐
-
Java算法之递归算法计算阶乘
本文为大家分享的java算法计算阶乘,在学习Java课程时经常会遇到求阶乘问题,今天接跟大家一起探讨一下 代码如下: package com.xu.main; import java.util.Scanner; public class P9 { static long fact(int n) { if(n <= 1) { return 1; } else { return n * fact(n - 1); } } public static void main(String[] args) {
-
C# 实现阶乘 (递归,非递归) 实现代码
//Main: 复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace Factorial{ class Program { static void Main(string[] args) { Function obj = new Function(); Cons
-
从阶乘函数对比Javascript和C#的异同
JavaScript代码块 复制代码 代码如下: <script type="text/javascript"> function factorial(num) { if (num <= 1) { return 1; } else { return num * arguments.callee(num - 1); } } var trueFactorial = factorial; factorial = function () { return 0; } alert
-
java阶乘计算获得结果末尾0的个数代码实现
看到题目后,分析了下, 10的阶乘就已经很大了.计算出来再得到这个末尾的0的个数,完全不现实,即使实现了也是很麻烦的. 后来想某个数的阶乘中乘积有5结尾的数字的时候就应该在结果的末尾产生一个0. 付诸实现,测试了几个, 没出错. 贴出来, 大家看看, 有问题了及时指教: 复制代码 代码如下: /** * 求1000~10000之间的数n的阶层并计算所得的数n!末尾有多少个0? */ public static void test2(int number){ i
-
ASP.NET递归法求阶乘解决思路
前台: 复制代码 代码如下: <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> !<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="=" /> <asp:TextBox ID="Tex
-
C语言实现的阶乘,排列和组合实例
本文实例讲述了C语言实现的阶乘,排列和组合.分享给大家供大家参考.具体如下: #include<stdio.h> int Factorial(int n) { int i=0; int sum=1; int array[]={0}; for(i=n;i>=1;i--) { sum=sum*i; } return sum; } int Arrangement(int n,int m) { int result=0; if(m>n) { printf("您的输入有错,上边的数
-
JavaScript采用递归算法计算阶乘实例
本文实例讲述了JavaScript采用递归算法计算阶乘的方法.分享给大家供大家参考.具体如下: 这里使用JavaScript中的递归算法计算阶乘,初学编程时候,这是很常见的小例子,比较一下,JS中的计算方法与其有何异同. 运行效果如下: 具体代码如下: <html> <head> <meta http-equiv="content-type" content="text/html; charset=GB2312" /> <t
-
c语言求阶乘精确值示例
复制代码 代码如下: #include <stdio.h>#include <string.h>const int maxn = 3000;int f[maxn];int main(){ int i,j,n; scanf("%d",&n); memset(f,0,sizeof(f)); f[0] = 1; for(i = 2;i <= n;i++) { int c = 0; for(j = 0;j < maxn;j++) { int
-
C#采用递归实现阶乘的方法
本文实例讲述了C#采用递归实现阶乘的方法,供大家参考之用.通常来说,如果想实现一个阶乘,比如6 * 5 * 4 * 3 * 2 * 1,首先想到的可能是循环遍历. 如下示例所示: class Program { static void Main(string[] args) { Console.WriteLine("请输入一个数"); int number = Convert.ToInt32(Console.ReadLine()); double result = JieCheng(n
-
算阶乘的vbs小程序
dim n,ans,i n=inputbox("n(0<=n<=170)=") ans=1 for i=1 to n ans=ans*i next msgbox(ans)
随机推荐
- thinkPHP5.0框架命名空间详解
- Angular 4根据组件名称动态创建出组件的方法教程
- 请求如何进入ASP.NET MVC框架
- Ionic快速安装教程
- javascript中Number对象的toString()方法分析
- 限制CheckBoxList控件只能单选实现代码及演示动画
- php正则替换处理HTML页面的方法
- php ios推送(代码)
- input 中空格截段的问题解决方法
- php基于curl实现随机ip地址抓取内容的方法
- React-Native TextInput组件详解及实例代码
- 手机端转换rem适应
- jQuery is not defined 错误原因与解决方法小结
- php操作MongoDB基础教程(连接、新增、修改、删除、查询)
- Yii-自定义删除确认弹框(zyd)jquery实现代码
- jQuery hover 延时器实现代码
- js类的静态属性和实例属性的理解
- 用Linux打造路由器
- iOS开发网络篇—实现大文件的多线程断点下载
- javascript 数组去重复(在线去重工具)