- 在线时间
- 10 小时
- 最后登录
- 2012-12-12
- 注册时间
- 2009-7-10
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 2171 点
- 威望
- 7 点
- 阅读权限
- 50
- 积分
- 783
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 122
- 主题
- 19
- 精华
- 0
- 分享
- 0
- 好友
- 6

Belief
升级   45.75% TA的每日心情 | 开心 2011-11-18 21:21 |
---|
签到天数: 2 天 [LV.1]初来乍到
 |
#include<iostream>
% _) p$ r* W( u/ [) `& @using namespace std;' p0 H' T/ _* t4 c
#define dd 1000000000
2 H6 _, h/ a6 M( g) M: H/ H#define maxn 36000
4 \, i/ W9 L# T* l' W1 ?" V__int64 a[maxn];
$ t" J/ M, t8 o) gint digit; //位数.! s, r+ M& A8 D E
void solve(int n)* ^1 ~2 ^0 d( A6 n2 W/ p5 x
{! e, h8 ]- ]7 B2 S) _
digit=1;
- L! n- D+ i+ h- f* C9 K& o) k7 o6 s int i,j;
' ~; W0 _- b$ b8 A, Y memset(a,0,sizeof(a));+ K0 y) Q# p& x/ @+ `5 n2 J" |' f
a[0]=1;
- Y' F! p! q! R for(i=2;i<=n;i++)0 @& `2 P v* c
{
4 C: ~5 Q* N5 x, r for(j=0;j<digit;j++)
+ x0 [* v6 a7 k* @7 B {
$ x9 }3 q5 o0 P `& z; q! a a[j]*=i;6 b5 P; H( k; j
}% J. E' w6 M5 v4 Y2 N
for(j=0;j<digit;j++)
5 a+ h" ]" v+ \5 A, w7 o {! }* v1 X5 f7 m! ~
if(a[j]>=dd)3 f5 ] y% \6 ?) A2 `. r5 R
{
9 L- T, z/ v4 d: I if(j==digit-1) digit++;2 B/ ?8 r; O. S# \! V
a[j+1]+=a[j]/dd;. d& W, |. ^% S4 _" i8 M5 C
a[j]=a[j]%dd;
8 C, r( p9 B' y' h# J9 v+ X# n }
# a* v/ {2 o+ B6 a : l/ _2 Q4 _& l* H# |% i, j- V
}3 ?0 N( |6 }% T6 \: b1 z
}" c* p( r$ ^7 |
}- {! b! s; Y7 \) Y! P: Q
int main()9 I4 K x8 u* ^! X, ]: S8 w
{3 H& p2 R9 R8 h' L2 P
int n,i;
- D7 m1 S$ g- B$ E8 b( s; d" E $ J' ?& ?3 @: ?5 M" P8 F
while(scanf("%d",&n)==1)
' E! K {4 P& ]2 I1 B5 Q# g" r1 Y/ P {
. k. B: ^* u4 I# p, F% p; q solve(n);( h! n, z7 a, @& f
printf("%I64d",a[digit-1]);3 }" U( h! A3 x: Y5 ]
for(i=digit-2;i>=0;i--)- Z3 v7 f& e& \: v2 C( Z$ H
{
7 C& g4 o/ h- G2 ~6 U if(a[i]<10) printf("000000000");//小于10位数补0.+ K: R$ O; v) G3 G
else if(a[i]<100) printf("00000000");
' {3 G$ e; b+ { else if(a[i]<1000) printf("0000000");& c* | m, A( b& z- ?; {- _. n
else if(a[i]<10000) printf("000000");- {* |, m5 {* F s+ `9 {) D
else if(a[i]<100000) printf("00000");
) z+ a$ H+ E2 n else if(a[i]<1000000) printf("0000");
. p% l) R3 ]4 l" G: H else if(a[i]<10000000) printf("000");0 w2 h |) v# }7 ], D; @( c5 D
else if(a[i]<100000000) printf("00");
! O% `# c. C! c7 M else if(a[i]<1000000000) printf("0");
Q! V9 j( K. p: a; l- u printf("%I64d",a[i]);
" {1 W+ g% t1 d; ?2 N }4 X/ B* k& h# N, V$ H; I+ N7 L
printf("\n");
9 L8 \, X) n# }! q; g6 r }
4 |2 A! g% ^8 }- } return 0;9 f9 e" f' W- g
}& u; O9 y: K1 ~4 ^' q. G8 t: w
|
|