2008-03-18
n!(<100)
关键字: n!(<100) #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);
}
评论
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的原理,自己想一下,这个函数可以算很多数。
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的原理,自己想一下,这个函数可以算很多数。
发表评论
- 浏览: 20851 次
- 性别:

- 来自: 武汉

- 详细资料
搜索本博客
链接
最新评论
-
学习J2ME可以从事的工作种 ...
关于J2ME程序员新手开发入门的几大要点 一、J2ME中需要的Java基础知 ...
-- by chenchuxin -
学习J2ME可以从事的工作种 ...
J2ME学习之温故而知新篇 学习J2ME最重要的部分是掌握J2ME的体系结构 ...
-- by chenchuxin -
学习J2ME可以从事的工作种 ...
目前從事第二個選項。糾正:應用開發一樣要熟練掌握低級界面編程。
-- by hzxdark -
(转)如何学习J2EE
好在亡羊不牢,为时不晚;
-- by chenchuxin -
(转)如何学习J2EE
有自己的思想 不要问别人怎么学 吸收正确的思想 别人也许是公车上的人呢; 有个职 ...
-- by chenchuxin






评论排行榜