- 在线时间
- 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>
. m- z J. @, a& fusing namespace std;3 E9 ^/ ]; O0 f, B& ~% Z- `
#define dd 1000000000 ' y8 Z) Y& D9 m$ W% N( `
#define maxn 360002 {7 P1 U7 g; N: X- A0 E+ F6 t
__int64 a[maxn];
( L7 S9 u4 s, I0 S3 t6 n. eint digit; //位数.
+ w% r! _4 c8 m8 }' _6 D! g; U( vvoid solve(int n)/ V; N+ [( ~$ z1 h" p/ P. C% E
{# i) N3 K$ {7 K0 M/ ` y( m
digit=1;* h% ^8 i; A: B; F/ S8 F) C
int i,j;
6 z) l+ Q; \5 s memset(a,0,sizeof(a));
- c+ F! D0 Q' g4 @8 |3 C. `8 n a[0]=1;2 C3 Y9 Q2 F% W8 I6 J
for(i=2;i<=n;i++)
; f4 j k6 y- ^! w" u9 ]7 z9 V/ L8 V {' K" C) ?* ^7 M1 Q% ?: |
for(j=0;j<digit;j++)6 q2 S6 B/ v4 o) v& v2 {/ B
{
6 m/ Y, J- W; C& g/ e k% o% F a[j]*=i;
m- W1 l" u1 ?7 n! h+ O5 x3 F }
8 K7 b9 _8 q( k; M p6 ? for(j=0;j<digit;j++)% |; }0 |+ K' U
{
/ q3 {) U( E( Z if(a[j]>=dd)( W( i, s& [: ~- x v# o+ I4 q
{7 K4 h) c+ i1 O l
if(j==digit-1) digit++;
6 v. w" Q/ T6 v e7 `( f) I$ l a[j+1]+=a[j]/dd; b, b) l, O9 m |7 M% e) H: ~
a[j]=a[j]%dd;! M4 p- T+ ~3 l/ r
}3 l$ U8 R/ _! N* ], U( u
% \) R% E0 Q: I$ I9 |7 S }, S% u0 |2 i+ |
}
+ D& K' ~" F- t4 ?4 r}, B8 ?# Y" Y: V# N* c
int main()
2 M6 N6 h$ _! ]; f- ~: [{
: S/ \: m7 p5 x1 l4 M9 ]7 P0 j. Q! m int n,i;
) p( y! v6 m o9 @% d% }/ A K2 { ( X8 n% Q1 y9 H
while(scanf("%d",&n)==1)
) w/ a; i1 U* B& O! T {
( Y3 ~5 V6 ]. z7 f( H6 I solve(n);0 S7 X0 p( B5 v! H2 Z2 p
printf("%I64d",a[digit-1]);, l5 H5 g: a- K
for(i=digit-2;i>=0;i--)
, _5 j$ ]; p5 f6 t" b) n {. F; e6 P- D" `* M. t
if(a[i]<10) printf("000000000");//小于10位数补0." n* L4 Y' l% B- ^" k
else if(a[i]<100) printf("00000000"); a( A& o0 |5 D6 u) Z8 a
else if(a[i]<1000) printf("0000000");0 l2 L$ p$ ^9 Y
else if(a[i]<10000) printf("000000");9 l! c n' J- x/ O! |
else if(a[i]<100000) printf("00000");. C3 v; _" m. N, H {2 B, J
else if(a[i]<1000000) printf("0000");9 G5 x1 \6 t+ B, l; M" D
else if(a[i]<10000000) printf("000");8 k1 g9 R# |8 I7 ?# m/ H! C& Q
else if(a[i]<100000000) printf("00");0 c2 [1 v+ a: D' E2 G
else if(a[i]<1000000000) printf("0");
; ]$ V) {- F8 B X3 d printf("%I64d",a[i]);
. H9 c; v a* x% p o% i }
- t* r/ ~; T% b$ F- E! o" b" G( n printf("\n");
8 `" }1 A: D% }4 v& W; x }
6 _1 i V. o! q0 B* h8 {# A, r return 0;
; x. q- _$ P, G. x. k}( k J X/ X+ H, z
|
|