我希望你是我独家记忆

一段永远封存的记忆,随风而去
posts - 263, comments - 31, trackbacks - 0, articles - 3
   :: 首页 :: 新随笔 ::  :: 聚合  :: 管理

HLOJ_1010(大整数加法)

Posted on 2009-03-13 20:59 Hero 阅读(391) 评论(1)  编辑 收藏 引用 所属分类: 代码如诗--ACM
 1 //1010  Accepted  125 152 1190 C++  
 2 //大整数加法
 3 
 4 #include <stdio.h>
 5 #include <stdlib.h>
 6 #include <string.h>
 7 
 8 struct NODE
 9 {
10     int data[10000] ;
11     NODE()
12     {
13         forint i=0; i<10000; i++ )
14             data[i] = 0 ;
15     }
16     void Init()
17     {
18         forint i=0; i<10000; i++ )
19             data[i] = 0 ;
20     }
21     void Print()
22     {
23         int i ;
24         for( i=10000-10==data[i]&&i>=0; i-- ) ;
25         if( i < 0 ) 
26         {
27             printf( "0\n" ) ;
28         }
29         else
30         {
31             for( ; i>=0; i-- ) printf( "%d", data[i] ) ;
32             printf( "\n" ) ;
33         }
34     }
35 };
36 
37 void Fadd( struct NODE &TA, struct NODE &TB )
38 {
39     int carry = 0 ;
40     forint i=0; i<10000; i++ )
41     {
42         TA.data[i] += TB.data[i]+carry ;
43         if( TA.data[i] >= 10 )
44         {
45             carry = 1 ;
46             TA.data[i] -= 10 ; 
47         }
48         else
49         {
50             carry = 0 ;
51         }
52     }
53 }
54 
55 struct NODE A ;
56 struct NODE B ;
57 
58 int innum ;
59 int inn, ink ;
60 
61 int main()
62 {
63     while( scanf( "%d"&innum ) != EOF )
64     {
65         while( innum -- )
66         {
67             scanf( "%d %d"&inn, &ink ) ;
68             A.Init() ; B.Init() ; B.data[0= 1 ;
69 
70             forint i=0; ; i++ )
71             {
72                 if( ink <= 0 ) break ;
73                 A.data[i] = ink % 10 ;
74                 ink = ink /10 ;
75             }
76 
77             forint i=1; i<inn; i++ )
78             {
79                 Fadd( A, B ) ;
80                 Fadd( A, A ) ;
81             }
82 
83             A.Print() ;
84         }
85     }
86     return 0 ;
87 }

Feedback

# re: HLOJ_1010(大整数加法)  回复  更多评论   

2009-03-22 13:35 by sanxing
你的代码,运算超时,能优化的。

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理