- 在线时间
- 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>; d# i) z/ L) v* v/ V7 h
using namespace std;
" I* w# h! B$ s' L. W#define dd 1000000000 7 I# ]8 v/ {" _7 T" p N" N+ L7 }
#define maxn 36000% x: k5 M H$ t& o2 l7 X
__int64 a[maxn];
( E" w/ \; |; ?) iint digit; //位数., [& V6 r4 k5 y$ ^' e6 } L/ t
void solve(int n) D% x9 I) N" q# B( @
{# R" V% `/ f$ w% E% k
digit=1;
; R( K, f+ G: e( g. S6 y5 X5 P int i,j;4 ?" n5 N6 M$ B+ o' h% y2 j* @: g
memset(a,0,sizeof(a));
" `6 I' C; D( h! |" f* A a[0]=1;
8 f/ G! ]3 Q+ e& y for(i=2;i<=n;i++)
, [$ D8 w7 K3 Q) L0 s9 @ {- S# J0 _' E/ s5 H
for(j=0;j<digit;j++)/ Y- H6 c3 ?: V+ m) b
{
0 a4 q6 Q2 D* J. F4 y8 p. p/ e a[j]*=i;; G' a3 G6 b; M
} S _ [! M: S" J
for(j=0;j<digit;j++)
( }/ w) B% Y& u. W: p: K {
' N, d( G: p4 u- E7 s if(a[j]>=dd)# K, H1 q8 z* _3 V) l3 t( N5 |4 c
{ J# L1 {% l5 C; j8 g( h
if(j==digit-1) digit++;
7 R! E% g; d) ]& u. g a[j+1]+=a[j]/dd;
, ~$ r' _# r, S0 ]1 I a[j]=a[j]%dd;2 r" x6 z' m5 L5 y
}: ^6 p5 X. J; S9 p
7 B! K0 W" d5 R3 J5 _* U8 w* V6 {/ V }" N! w# y j1 r6 `( u2 p4 T( H9 x
}
: d7 G& e- I2 H. p# t/ C}
1 [& o3 x, d7 ^int main()
" O- F3 z9 V/ R+ R% h# q3 I{6 d' Y7 R' c0 P+ o* A
int n,i;
( L% q0 L. f' g: J. n
, [: U2 E& J% s% V& B: p while(scanf("%d",&n)==1), { z0 O6 m. ?: O+ }0 N2 Z
{
5 T- t$ `: W3 C% G o solve(n);
6 H8 l1 R8 R2 u6 D printf("%I64d",a[digit-1]);
- h; s! P! J2 q, z6 x% I$ G4 |( K for(i=digit-2;i>=0;i--)- L3 t: p: k3 E- d$ \
{" j' g( k5 }; E) { f
if(a[i]<10) printf("000000000");//小于10位数补0." s' c6 I: r+ z- d4 ^$ B
else if(a[i]<100) printf("00000000");
. H2 v; L3 y4 r3 A) H0 l- L else if(a[i]<1000) printf("0000000");- F& `3 c# J5 }3 ] j4 V. @
else if(a[i]<10000) printf("000000");' [ n' A/ o: L; Z
else if(a[i]<100000) printf("00000");
8 O8 x$ f" Z# i8 f8 u9 h! A else if(a[i]<1000000) printf("0000"); M5 h H7 E& j- @; G
else if(a[i]<10000000) printf("000");
7 @0 B+ M! l3 y/ _0 V/ F% w else if(a[i]<100000000) printf("00");& n! Z7 B$ A) f7 r* B6 A
else if(a[i]<1000000000) printf("0");
2 I; |$ g7 j4 l/ R2 Z" C printf("%I64d",a[i]);. }) e" X9 ]2 m6 |# D9 X6 L% U
}
+ I9 X& M7 W$ L0 m' O printf("\n");
' c F& Z+ D, P }
* J, v) p' `% K2 {6 z/ m2 Z8 X return 0;
2 u' Z. J8 t5 x! b}& Q' ?2 H+ r- _/ @7 A# l$ w
|
|