hdu--1002--大数加法
2014-07-15 14:27
375 查看
以为已经贴上去了 刚看了下 原来还没贴 看来是自己忘记了 =-=
就是一个 大数加法 写着玩玩的~
touch me
View Code
today:
当你在穿山越岭的另一边
我在孤独的路上没有尽头
我们总是在抱怨事与愿违
却不愿意回头看看自己
就是一个 大数加法 写着玩玩的~
touch me
#include <iostream> #include <cstring> using namespace std; const int size = 10010; char str1[size]; char str2[size]; int val[size*2]; void add( ) { int i , j; int len1 = strlen( str1 ); int len2 = strlen( str2 ); int maxLen = max( len1 , len2 ); int minLen = min( len1 , len2 ); int len = maxLen; int ans = 0; for( i = len1-1 , j = len2-1 ; i>=0&&j>=0 ; i--,j-- ) { val[maxLen] = ( (str1[i]-'0')+(str2[j]-'0') + ans ) % 10 ; ans = ( ( str1[i]-'0' ) + (str2[j]-'0' ) + ans ) / 10; maxLen--; } if( len1 == len ) { for( ; i>=0 ; i-- ) { val[i+1] = ( ans + (str1[i]-'0') ) % 10; ans = ( ans + str1[i]-'0' )/10; } } else { for( ; j>=0 ; j-- ) { val[j+1] = ( ans + (str2[j]-'0') ) % 10; ans = ( ans + str2[j]-'0' ) /10; } } if( ans ) printf( "1" ); for( i = 1 ; i<=len ; i++ ) { printf( "%d",val[i] ); } printf( "\n" ); } int main() { int t; while( cin>>t ) { for( int i = 1 ; i<=t ; i++ ) { cin >> str1 >> str2; printf( "Case %d:\n",i ); printf( "%s + %s = ",str1 , str2 ); add( ); if( i<t ) printf( "\n" ); } } return 0; }
View Code
today:
当你在穿山越岭的另一边
我在孤独的路上没有尽头
我们总是在抱怨事与愿违
却不愿意回头看看自己
相关文章推荐
- hdu-1002-Java大数加法
- hdu 1002(大数加法)
- HDU 1002 A + B Problem II (大数加法)
- 抓起根本(二)(hdu 4554 叛逆的小明 hdu 1002 A + B Problem II,数字的转化(反转),大数的加法......)
- hdu 1002 A + B Problem II(大数模拟加法)
- hdu 1002之大数加法
- hdu 1002 A + B Problem II(大数模拟加法)
- (解题报告)HDU1002---大数加法
- 抓起根本(二)(hdu 4554 叛逆的小明 hdu 1002 A + B Problem II,数字的转化(反转),大数的加法......)
- Hdu1002 大数加法
- HDU1002大数加法
- 杭电HDU1002(大数加法)
- hdu 1002 Java 大数 加法
- hdu 1002大数加法
- A + B Problem II(hdu1002,大数加法)
- HDU 1002 A + B Problem II(大数加法,C,Java两个版本)
- HDU 1002大数加法
- HDU 1002大数加法
- hdu1002,大数加法,朴素版
- 大数加法 hdu 1002