- 在线时间
- 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>
$ T' R v1 U; j( Vusing namespace std;* H/ i# e2 Q) v1 B( C0 Y5 M
#define dd 1000000000 8 o! {. ?: O$ l6 W
#define maxn 36000
. _2 |) \, c) Q+ x3 [+ }9 ?7 z: Z__int64 a[maxn];' } j! j$ B, I8 z& c7 r1 }1 \* G* f
int digit; //位数.: `) L9 q$ K5 e, E7 w
void solve(int n)5 D. _- B! ]! k" N; P6 M' U
{
7 n1 b) x' y* u: E9 [3 B8 F4 y! O4 ] digit=1;+ Y# l- W2 P/ J& `
int i,j;
% Q# I, E2 n N memset(a,0,sizeof(a)); w2 |& I+ N' q3 W1 \
a[0]=1;/ m$ }* I. u: H
for(i=2;i<=n;i++)
$ j4 h% a: w O/ ]' K; z/ \+ F: q {5 D3 f0 S0 m; n! ^: e6 M
for(j=0;j<digit;j++)% C1 Z7 g+ K+ }0 {+ h6 F9 J
{
' M5 C, b g4 y6 \& N a[j]*=i;
& ~" T( Q O( O# \5 h c5 V }1 j( X5 r; |+ |% e% w; d% m
for(j=0;j<digit;j++)
2 \0 x; K2 w- U- T; [, @% Q* @ {
- }0 X, d+ T$ q J- G* R$ M) L" E6 E if(a[j]>=dd); X4 }* b0 L* f6 G# Q
{" s( |: f( u, {, g' d' s; f- m
if(j==digit-1) digit++;6 ~. U% ^, E( Y2 Y& S9 S7 o
a[j+1]+=a[j]/dd;! [: Q5 \1 B2 z* R ]
a[j]=a[j]%dd;
0 ?* @6 a% R Q; K% L6 ]+ [ }. G# g# A( l$ m. N, q' B# I
1 h# P! s, b' o% d
}& W# K7 I! C7 j r# p
}2 V. C: ?: E' W% O+ f5 a
}- H( n% e i+ q) [1 n, P& _
int main()
: a9 n* s9 g# d( C- H2 n{2 d- @9 b* |3 b, `: y
int n,i;, ?9 K' S4 j- z: q1 C# U
8 g4 m" Q* m- B7 n. h6 ?
while(scanf("%d",&n)==1)
: D5 N4 ~- t6 x {
$ B# D7 v# T& h2 r( d. Y solve(n);
$ e' {4 I) l" k, Z. j- { printf("%I64d",a[digit-1]);
0 h; p i9 ~9 L2 n( c for(i=digit-2;i>=0;i--)! M9 ]( J2 P: N
{7 q: O* M- Q- e& n# F
if(a[i]<10) printf("000000000");//小于10位数补0.) J( \& @& z0 ?6 C& z+ Z
else if(a[i]<100) printf("00000000");$ m& C4 W& v% m3 \
else if(a[i]<1000) printf("0000000");+ X; [: S u$ v8 O; O; h
else if(a[i]<10000) printf("000000");
5 @: t# m& G* _4 y* V6 `/ ^ else if(a[i]<100000) printf("00000");
. u4 c% [ p2 e4 w) j& p7 c7 Y8 x else if(a[i]<1000000) printf("0000");5 \* H4 f. z8 T/ v* c
else if(a[i]<10000000) printf("000");) ]' r$ m) g; K/ }3 r0 l
else if(a[i]<100000000) printf("00");; P9 e8 S5 Z- I5 M [6 e
else if(a[i]<1000000000) printf("0");
1 r, c& K2 }- p* g printf("%I64d",a[i]);
' X6 {9 _$ z, a. [0 O }
; \& F5 N$ B* F1 z/ j3 _' X printf("\n");: U L) j% [5 W
}! E: t9 ^% V1 [- O/ Z
return 0;
' P2 l* Q. ~: q5 h: p; ?}% ^- f5 b$ ~& f0 L
|
|