朱色虫居
Pages
Home
Featured Posts
2006/09/23
424-Integer Inquiry
<br /> /* <br /> "Integer Inquiry"<br /> Level:4.5<br /> Date:2006/9/22<br /> <br /> 大數加法,<br /> 技巧:先把計算結果array反轉,在array中是由LSB to MSB排列.<br /> 進位要考慮到多重進位.<br /> */<br /> <br /> #include <stdio.h><br /> #include <string.h><br /> main(){<br /> int ans[102]={0}; <br /> char input[101]={0}; //包括'\0'.<br /> int i=0,len=0,carry=0,tmp=0;<br /> bool skip = true;<br /> while(1){<br /> scanf("%s",&input);<br /> len = strlen(input);<br /> if(*input == '0' && len ==1)<br /> break;<br /> for(i=0;i<len;i++){ tmp = ans[i] + (input[len-1-i]-48)+carry; carry=0; if(tmp >= 10){<br /> carry = tmp/10;<br /> tmp %=10;<br /> }<br /> ans[i] = tmp;<br /> if(i == len-1 && carry > 0){<br /> for(i=len-1;carry>0;i++){ //handle multiple carry out<br /> ans[i+1]+=carry;<br /> carry = ans[i+1]/10;<br /> ans[i+1]%=10;<br /> }<br /> } <br /> } <br /> }<br /> for(i=101;i>=0;i--){<br /> if(ans[i]==0 && skip == true)<br /> continue;<br /> skip = false;<br /> printf("%d",ans[i]);<br /> } <br /> printf("\n");<br /> }<br /> <br />
No comments:
Post a Comment
Newer Post
Older Post
Home
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment