- 在线时间
- 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>$ I/ P( X' S" Y1 c6 R8 u
using namespace std;
* y) j8 S- O8 W3 G" t8 G* w#define dd 1000000000
) \! G- i( f% Y- U' H#define maxn 36000
+ G# H+ v Z' |8 ^ R__int64 a[maxn];. s; h0 w4 a) ^6 T$ v
int digit; //位数.
+ s" A3 b0 e2 j( r" {3 }! J0 u, b; fvoid solve(int n)4 ^7 H# ^9 x- {/ s9 ~$ j
{
& h* D; c0 U" i3 \" U digit=1;
4 {2 V r+ g8 G9 k0 j' t int i,j;
' j5 C6 T( K1 S( s4 n8 t# o memset(a,0,sizeof(a));3 d: `0 V+ T! l' n$ J# R5 w# c
a[0]=1;
( t5 E( P6 {% f: ?! n for(i=2;i<=n;i++)
- Z4 Q% _8 L. ]3 |+ B4 _1 k {1 E+ V6 M1 R/ ?: [5 A m/ o
for(j=0;j<digit;j++)" m% P/ L+ b( u% S* D4 u
{
9 d8 t/ T( n5 Q4 v' N' s4 w+ S a[j]*=i;
$ R0 b, y: c* j }
. s1 Q5 M. S+ \7 T2 H, [+ V for(j=0;j<digit;j++)5 z) h! ]1 y' j2 W
{% |1 A! y4 n5 L) V8 G- @
if(a[j]>=dd). s6 \2 g# _ M0 L& Q
{
6 q7 u1 @& C- i8 h- I2 H if(j==digit-1) digit++;
# y0 `4 e" l( `" i: W a[j+1]+=a[j]/dd;
; V6 V6 q* O5 F, ~ a[j]=a[j]%dd;5 v+ S# W: s; p. N
}& N6 H _! S" z9 h% X
0 F) @, ^8 x" c. c( A9 M& ?# Y }: D9 ?: z! {$ b$ r7 W7 j
}) \! u1 k$ ?3 x. O
}/ L- @0 D2 b/ o4 `/ V! O, W2 f
int main(); ~+ J$ R" p5 P1 z2 Q
{, d0 K. j3 T3 P0 \
int n,i;
f0 ?8 @; {; ] " w# d. h/ r) v4 p7 `* ~4 Q
while(scanf("%d",&n)==1)
3 Y1 P# M4 Y* m4 }# K9 N* ~ {, r" a6 g, |' p$ ]# q3 ?8 V2 t
solve(n);) d4 j: w& ~# t) G" H& I: R% d
printf("%I64d",a[digit-1]);
2 T" W W* t/ @: s, ^) _ for(i=digit-2;i>=0;i--)
. e4 w9 x8 f; e$ g- x {+ K. C1 L' A4 m) r; N+ Y. N
if(a[i]<10) printf("000000000");//小于10位数补0.+ F3 i4 F" \! {, ?
else if(a[i]<100) printf("00000000");2 B% _3 } D4 U
else if(a[i]<1000) printf("0000000");
3 V0 ~7 N5 @& C- M+ L else if(a[i]<10000) printf("000000");& G+ q: ~! @) c# T, f
else if(a[i]<100000) printf("00000");. ?; F$ t2 {: k3 ?2 k" l
else if(a[i]<1000000) printf("0000");: m1 X- W! G& M& Y. Z5 }0 s; A+ c
else if(a[i]<10000000) printf("000");0 ]( _) ~- l# j3 s& [& `* d
else if(a[i]<100000000) printf("00");! g" _$ W/ }- w$ _4 Z1 \0 p% a
else if(a[i]<1000000000) printf("0");. M2 x7 \' [1 K7 ^& B
printf("%I64d",a[i]);: N1 B8 f" o2 H- q
}
! |& \) m# p, z! t3 W4 {5 v; J printf("\n");
( \: ?0 o% z+ [( u5 V* [ }
$ O4 X2 m$ o. W- F return 0;' I; m$ ~- `) {- ]
}
! H" o3 u( b$ E3 I9 l |
|