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;
}
相关推荐
-
JavaScript采用递归算法计算阶乘实例
本文实例讲述了JavaScript采用递归算法计算阶乘的方法.分享给大家供大家参考.具体如下: 这里使用JavaScript中的递归算法计算阶乘,初学编程时候,这是很常见的小例子,比较一下,JS中的计算方法与其有何异同. 运行效果如下: 具体代码如下: <html> <head> <meta http-equiv="content-type" content="text/html; charset=GB2312" /> <t
-
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
-
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
-
从阶乘函数对比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算法之递归算法计算阶乘
本文为大家分享的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) {
-
java阶乘计算获得结果末尾0的个数代码实现
看到题目后,分析了下, 10的阶乘就已经很大了.计算出来再得到这个末尾的0的个数,完全不现实,即使实现了也是很麻烦的. 后来想某个数的阶乘中乘积有5结尾的数字的时候就应该在结果的末尾产生一个0. 付诸实现,测试了几个, 没出错. 贴出来, 大家看看, 有问题了及时指教: 复制代码 代码如下: /** * 求1000~10000之间的数n的阶层并计算所得的数n!末尾有多少个0? */ public static void test2(int number){ i
-
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
-
算阶乘的vbs小程序
dim n,ans,i n=inputbox("n(0<=n<=170)=") ans=1 for i=1 to n ans=ans*i next msgbox(ans)
-
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("您的输入有错,上边的数
随机推荐
- 用JS将搜索的关键字高亮显示实现代码
- 利用C#实现最基本的小说爬虫示例代码
- 查找与清除线程插入式木马
- 利用vbs类实现css按钮的代码
- 讲解Java编程中finally语句的基本使用方法
- 在命令行下进行Oracle用户解锁的语句
- C字符串与C++中string的区别详解
- 微信小程序-滚动消息通知的实例代码
- 基于PHP实现简单的随机抽奖小程序
- Python selenium 三种等待方式解读
- php中分页及SqlHelper类用法实例
- php中批量替换文件名的实现代码
- JS验证码实现代码
- 使用text-align:justify实现两端对齐一例
- JS请求servlet功能示例
- php计算程序运行时间的简单例子分享
- Putty实现自动登陆远程Linux主机的方法
- 在MySQL中生成随机密码的方法
- window.location和document.location的区别分析
- javascript中for/in循环及使用技巧