`

n!(<100)

    博客分类:
  • C
阅读更多
 #include "stdio.h" 

void main() 
{ 
int n,i,sum=1; 
printf("请输入N的值:"); 
scanf("%d",&n); 
for(i=1;i<=n;i++) 
sum=sum*i; 
printf("%d",sum); 
}
分享到:
评论
1 楼 chenchuxin 2008-03-18  
#include "stdio.h"
void main()
{
int fun(int x);
float jc(int x);
int n,i;
float k;
printf("type in the n!\n");
scanf("%d",&n);
i=fun (n);
k=jc (n);
printf("%d! is %10.0f\nthere are %d zero!\n",n,k,i);
}


int fun(int x)
{
int i=0;
while(x!=0)
{
x=x/5;
i+=x;
}
return (i);
}


float jc(int x)
{
float i;
if (x==0||x==1)
i=1;
else
i=jc(x-1)*x;
return (i);
}
阶乘jc()函数是仿照谭浩强的c程序设计编写的,由于位数的关系只能算到12!你可以自己改精度

求零部分是自己想出来的,用的是n!=1*2*3*4*5*6*7*8*9*10*11……=1*2*3*(2*2)*5*(2*3)*7*(2*2*2)*(3*3)*(2*5)*11……

后面的式子中有几个5就有 就会得到几个末位0的原理,自己想一下,这个函数可以算很多数。

相关推荐

    C语言n的阶乘n!程序

    用c语言编的n!算法简单程序。 经过调试完全可用~ 请大家多多指教~

    求满足1+2+3+…n<100的最大正整数n的MATLAB程序

    求满足1+2+3+…n&lt;100的最大正整数n的MATLAB程序

    求n!输出1-N的阶乘

    求n!输出1-N的阶乘.c语言,一个.cpp文件

    阶乘计算 编写程序,对给定的n(n≦100),

    编写程序,对给定的n(n≦100),计算并输出k的阶乘k!(k=1,2,…,n)的全部有效数字。由于要求的整数可能大大超出一般整数的位数,程序用一维数组存储长整数,存储长整数数组的每个元素只存储长整数的一位数字。...

    计算N (N<50)个偶数之和

    对键盘输入的字符进行判断,如果不是数字,显示提示,输入两位数。对输入的数字进行判断,如果输入的数不在1~50之间,提示重新输入。结束时,显示提示,按任意键退出。 在程序的开始显示自己的学号及姓名(拼音)...

    2的N次方(N为<100的正整数,可扩展)

    2的N次方的计算方法。希望对需要的你有帮助哦~

    无向图连通子图_并查集.cpp 最小生成树.cpp

    测试数据由m+1行构成,第一行为两个正整数n(1&lt;n&lt;=30)和m(1&lt;m&lt;100),分别表示顶点数(顶点编号为1,2,…,n)和边数,其后是m行数据,每行数据是一条边的信息,包括两个数字,分别表示该边关联的两个顶点。...

    括号配对问题

    第一行输入一个数N(0&lt;N&lt;=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符 ...

    数据结构 迷宫问题.cpp

    第一行数据表示一个 n*n (n&lt;=100)的迷宫;第二行开始的n行为迷宫数据。 其中:0表示路,1表示墙,起点在左上角 &lt;1,1&gt; 的位置,终点在右下角 &lt;n,n&gt; 的位置。 输出:若有解,输出从入口到出口的一条路径,否则输出 ...

    数据结构 单链表程序

    int r[100],n,i,x; cout&lt;&lt;"请输入线性表中元素的个数!"&lt;&lt;endl; cin&gt;&gt;n; cout&lt;&lt;"请输入线性表中每个元素!"&lt;&lt;endl; for(i=0;i&lt;n;i++) {cout&lt;&lt;"请输入第"&lt;&lt;i+1&lt;&lt;"个元素!"&lt;&lt;endl; cin&gt;&gt;r[i]; } ...

    c#中如何使用random实现在100个数中产生不同的n<100的算法

    这是本人自己写的一个算法希望对你的编程有所帮助!

    test1-matlab实验.m

    编写一个MATLAB函数文件,该函数的功能是求出最大的n值,使得 n! &lt;realmax 。通过M文件调用该函数文件,计算realmax为56000时的n值,且realmax的值通过键盘输入。

    数据结构——用C描述

    到y=0时,要执行10*100次,可记为O(10*y)=O(n) 1.5 2100 , (2/3)n , log2n , n1/2 , n3/2 , (3/2)n , nlog2n , 2 n , n! , n n 第二章 线性表(参考答案) 在以下习题解答中,假定使用如下类型定义: (1)顺序...

    java 实现有数量不限的面值为100,50,20,10,5,1元的纸币,问要组成N(N<=10^6)共有多少种组合方式

    java 实现有数量不限的面值为100,50,20,10,5,1元的纸币,问要组成N(N&lt;=10^6)共有多少种组合方式;其中包括了爆搜的方法和动态规划的方法

    0-1矩阵(字符串数组).cpp

    输入第一行为两个整数m和n(0&lt;=m,n&lt;=100)表示二维数组行数和列数,其后为m行数据,每行n个整数(0或1),输入数据中不会出现同一行有两个最长1序列的情况。 输出说明 找出每一行最长的连续1序列,输出其起始位置...

    设有n个正整数,将他们连接成一排,组成一个最大的多位整数

    题目描述 设有n个正整数,将他们连接成一排,...有多组测试样例,每组测试样例包含两行,第一行为一个整数N(N&lt;=100),第二行包含N个数(每个数不超过1000,空格分开)。 输出描述: 每组数据输出一个表示最大的整数。

    银行家算法

    cout&lt;&lt;"请输入各进程已经申请的资源量("&lt;&lt;m&lt;&lt;"*"&lt;&lt;n&lt;&lt;"矩阵)[Allocation]:"&lt;&lt;endl; for(i=0;i&lt;m;i++) for(j=0;j&lt;n;j++){ cin&gt;&gt;Allocation[i][j]; if(Allocation[i][j]&gt;Max[i][j]) flag=1; Need[i][j]=Max[i]...

    C语言一道简单算法题

    已知某个班有n(1&lt;=n&lt;=100)个学生,输入每行为学生姓名(最多20个字符)和其c语言成绩(0~100),请按照成绩从高到低排序后输出。若有相同的,不能改变其顺序。

    n的阶乘问题.mp4

    最近在学算法设计与分析,看到了求100!问题,以前在学习c语言的时候,可能设置一个循环变量,简单一求就可以了,但是现在想到了使用数组存放,每个单元格存放六位,可以输出的更加精确了,太棒啦,和大家分享~

    数字三角 dp

    第一行是数字三角的行数n,1&lt;=n&lt;=100。接下来n行是数字三角各行中的数字,所有数字在0~99之间。 输出格式 输出两行,第一行是计算出的最大路径的和值,第二行是该路径上的数字。若有多条路径,靠右的路径优先(即...

Global site tag (gtag.js) - Google Analytics