- 在线时间
- 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>
4 j1 u; {3 D( ousing namespace std;
- U. E" k- |5 w" J( w#define dd 1000000000 7 x. [5 T& |" [* t
#define maxn 36000* d3 h. x/ }8 ?
__int64 a[maxn];* z' H8 A( a# k# U/ M$ z
int digit; //位数.2 j- H1 p& B/ O3 t8 j
void solve(int n)9 a+ W/ ?& a6 U- ~. _! [
{
. O2 I/ u. _/ s. v' O# Z; S. \. C digit=1;
/ t" n. A( p' u( w( N- F0 w int i,j;
# y2 o" K- [( ^/ z5 z memset(a,0,sizeof(a));
+ p5 ]* _) |, p/ Y a[0]=1;4 X) P4 c2 U% a5 E0 X. D
for(i=2;i<=n;i++)
4 }% W& ~6 _* O$ I( y, c {
8 |) W/ ]: n7 B5 s! T- s! ~ for(j=0;j<digit;j++)$ V5 W- W' m0 M1 _* O
{4 g# E8 k4 ~5 ]1 T
a[j]*=i;
. _3 w2 j& v! [' v9 R }
) m C2 L, p# U t: l for(j=0;j<digit;j++)
, ]& } B( M* X/ k: h# g3 l# s/ g8 @ {' \2 {! U8 f7 b* }+ P9 F# ]2 u
if(a[j]>=dd)
; `/ l8 P5 i$ P3 K9 x {, q8 s5 X( ]# @- G
if(j==digit-1) digit++;, f- t5 s( Y7 e' Q$ _
a[j+1]+=a[j]/dd;5 \) k% L% s l6 c S) c: |
a[j]=a[j]%dd;
0 {$ Y# ]# G7 N" R P( r6 M }
$ J. C# p2 k% }% M! J+ Q; `: y1 S
/ }8 W T2 u! q R1 J. \6 F9 S( I }7 V0 j. E- j7 I
}; h/ V g) F" s2 f2 i; l( {
}# D& \* b( @. s9 g! x" A. X _' y
int main()
8 _, q1 y$ `( G6 s7 ^- f: E+ C{: S9 ]3 ?. {" Y6 v& L! _" W
int n,i;
{, \& ^) v6 e- ?" W0 d ! l2 _0 s+ z7 W5 A
while(scanf("%d",&n)==1)
5 Q$ R# Q% u! a& V( ^7 d {
; ~- a/ U+ o% K4 K7 p solve(n);
( v% c- s0 [ g; V3 k4 e printf("%I64d",a[digit-1]);
. ?( ^* J4 d5 Q$ Z/ P for(i=digit-2;i>=0;i--)
% D% Q9 B2 g! z. e# [ {
1 F1 A! R Q, j) G. }( U/ ^ if(a[i]<10) printf("000000000");//小于10位数补0.
1 \3 C6 z6 [% @ else if(a[i]<100) printf("00000000");; G& T* p1 S6 ^7 Q H& [1 @
else if(a[i]<1000) printf("0000000");
/ h8 [+ N6 `) L8 Q9 E else if(a[i]<10000) printf("000000");
& c# f. B9 G5 e/ ?/ v: \ else if(a[i]<100000) printf("00000");# k% Z! b l4 ^% m1 |( X
else if(a[i]<1000000) printf("0000");
: i& k- v0 J9 o& h1 v8 V9 g3 R2 | else if(a[i]<10000000) printf("000");
% x5 @: z0 Y# p# a5 H. c5 x) ] else if(a[i]<100000000) printf("00");! d/ z0 f3 `, a) |5 o1 g& H
else if(a[i]<1000000000) printf("0");& s4 ~. Z% ^% b1 J/ M
printf("%I64d",a[i]);! j9 N' h6 H/ a6 L
}
1 p1 N/ h- J6 h, A printf("\n");
" Q y) W: b9 i4 a j }0 t; z5 E, [, W: V; M0 K6 f4 F
return 0;
3 _! m9 y3 s, W) t7 t3 r( U}% t8 g8 _! D& o# p, Z$ ~5 d5 ~
|
|