- 在线时间
- 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>0 S9 E8 a" I% }, F6 {- a$ S' d
using namespace std;
+ [4 Z% ~& j% y) t' s- f#define dd 1000000000
( K, X! Y$ K8 Z, f7 }; ]! r#define maxn 360001 l* d& w) E! x1 o5 l+ i
__int64 a[maxn];3 `9 r( b/ a7 A1 ~( ]( ^* O7 ^
int digit; //位数.
; b$ \' t5 L3 l& q* Zvoid solve(int n)
& v7 q4 s, s4 T H! |4 T{
' d2 k! h, b+ r6 N2 e digit=1;
3 s% }0 i" r9 C" Q1 a int i,j;; b, t" _, n6 q
memset(a,0,sizeof(a));
- |4 q3 S3 t0 W/ s- {) K! ^ a[0]=1;
2 N5 V( c# v. G, a) A! h for(i=2;i<=n;i++)
& P) V( d4 [/ D) k0 g) ? {
0 r* m( F$ u% d for(j=0;j<digit;j++)
: ~1 P5 e. b) c2 t. \ {
& E i4 F# C: X/ c; i, P a[j]*=i;8 w8 V, ^( V f
}
+ g! i" q9 k+ k, V+ n for(j=0;j<digit;j++)3 q( ?, ?6 W& o
{
! ?0 ]7 s# P) A2 g) w$ E if(a[j]>=dd)4 Z; k. p# F0 Q0 e0 ^4 d7 d3 o
{" ^1 h& b/ i* X' k0 }$ l
if(j==digit-1) digit++;
, f- g. g6 h! \7 ]0 E4 p* b# Q a[j+1]+=a[j]/dd;
# {7 \5 D* t1 F- E* R a[j]=a[j]%dd;
0 c$ l, Q2 x0 t }
" S! C6 x$ N8 I$ A- ]2 K* W
* z9 _/ k. m: D/ J2 i+ F }
* _/ Z0 p5 D0 P, ~7 g% \- E/ ^ }
3 _2 d2 N' g- O2 K1 v4 O}
. |7 }) O& q) s/ iint main()
7 l8 T% b E. Q4 _, n{
O" C9 K" k* L. S: N( @5 k/ O int n,i;3 X, u7 I7 e, x" H! N* V
/ j& I" P' G' G# {# `, U
while(scanf("%d",&n)==1)
# q8 Y& x& ]# m% i {- j L# u7 V: i4 @
solve(n);
" u, b) f. I0 ~* w6 ^8 `4 u" U printf("%I64d",a[digit-1]);
3 U7 U2 S; o3 ^' E; T9 C for(i=digit-2;i>=0;i--)
$ k7 F% a e. A) Q4 R {' E; G' ]4 q) G5 y: o2 K
if(a[i]<10) printf("000000000");//小于10位数补0.
" c% L# d0 w1 J- N% K else if(a[i]<100) printf("00000000");
/ L2 b. z$ }1 G* h+ t else if(a[i]<1000) printf("0000000");
% Y- X: M* `3 L I7 p& [2 g else if(a[i]<10000) printf("000000");! |# d, D+ Z& J; o+ c
else if(a[i]<100000) printf("00000");- B# `! x$ K& d% K. Z
else if(a[i]<1000000) printf("0000");2 _, v3 C+ r: F9 t" q
else if(a[i]<10000000) printf("000");
. G K% l' X W- C+ e else if(a[i]<100000000) printf("00");3 v) X! I2 X6 ]- @2 ?; O8 k
else if(a[i]<1000000000) printf("0");
& p& Z' J: W& d1 ?8 B' `% l printf("%I64d",a[i]);
: a, E3 v4 m% }9 B }
/ n- o8 p6 c3 u printf("\n");
0 k) O# I3 O# G- F3 }+ e3 H }
k4 K! x9 F& V$ w return 0;
/ }& B$ d/ ~$ g6 ^} g2 N) B. X4 M, _6 Q! r2 X( v
|
|