您的位置:首页 > 其它

uva568(数论)

2013-05-30 10:58 253 查看
题意:求n!从有数起输出第一个不为0的数子。。

思路:就是求n!在处理一步就是结果了。。

n!求法白书p72...

#include <iostream>

#include<cstdio>

#include<cmath>

#include<cstring>

using namespace std;

const int maxn=10010;

int f[maxn];

int main()

{

int i,j,n;

while(scanf("%d",&n)!=EOF)

{

memset(f,0,sizeof(f));

f[0]=1;

for(i=2;i<=n;i++)

{

int
c=0;

for(j=0;j<maxn;j++)

{

int
s=f[j]*i+c;

f[j]=s;

c=s/10;

}

}

for(j=0;j<=maxn-1;j++)

{

if(f[j])

{

printf("]
-> %d\n",n,f[j]);

break;

}

}

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: