uva 10106

#include <iostream> #include <cstring> using namespace std; const int maxn = 500+10; char str1[maxn] , str2[maxn] ; int buf[maxn] ; void transfer( char str[] ) { char tem[maxn] ; int count = 0 ; for( int i = strlen(str) - 1 ; i >= 0 ; i--) tem[count++] = str[i] ; strcpy( str , tem ) ; return ; } int main() { memset( str1 , 0 , sizeof( str1 ) ) ; memset( str2 , 0 , sizeof( str2 ) ) ; memset( buf , 0 , sizeof( buf ) ) ; while( cin >> str1 >> str2 ) { int len1 = strlen( str1 ) ; int len2 = strlen( str2 ) ; transfer( str1 ) ; transfer( str2 ) ; for( int i = len1 - 1 ; i >= 0 ; i-- ) for( int j = len2 - 1 ; j >= 0 ; j-- ) { buf[i+j] += ( str1[i] - '0' ) * ( str2[j] - '0' ) ; } for(int i = 0 ; i < maxn ; i++ ) if( buf[i] >= 10 ) { buf[i+1] += buf[i] / 10 ; buf[i] %= 10 ; } int begin = 0 ; for( int i = maxn ; i >= 0 ; i-- ) if( buf[i] ) { begin = i; break ; } for( int i = begin ; i >= 0 ; i-- ) cout << buf[i] ; cout << endl; memset( str1 , 0 , sizeof( str1 ) ) ; memset( str2 , 0 , sizeof( str2 ) ) ; memset( buf , 0 , sizeof( buf ) ) ; } return 0 ; }

你可能感兴趣的:(include)