poj2562

简单题,类似高精度

View Code
   
     
#include < iostream >
#include
< cstdio >
#include
< cstdlib >
#include
< cstring >
#include
< algorithm >
using namespace std;

#define maxn 12

char num1[maxn], num2[maxn];

int main()
{
// freopen("t.txt", "r", stdin);
while ( 1 )
{
scanf(
" %s%s " , num1, num2);
if (strcmp(num1, " 0 " ) == 0 && strcmp(num2, " 0 " ) == 0 )
break ;
reverse(num1, num1
+ strlen(num1));
reverse(num2, num2
+ strlen(num2));
int len, len2;
if (strlen(num1) > strlen(num2))
{
len
= strlen(num2);
len2
= strlen(num1);
for ( int i = len; i < len2; i ++ )
num2[i]
= ' 0 ' ;
}
else
{
len
= strlen(num1);
len2
= strlen(num2);
for ( int i = len; i < len2; i ++ )
num1[i]
= ' 0 ' ;
}
int temp = 0 , jw = 0 ;
int ans = 0 ;
for ( int i = 0 ; i < len2; i ++ )
{
int a = num1[i] - ' 0 ' ;
int b = num2[i] - ' 0 ' ;
temp
= a + b + jw;
jw
= temp / 10 ;
if (jw > 0 )
ans
++ ;
}
if (ans == 0 )
{
printf(
" No carry operation.\n " );
}
else if (ans == 1 )
{
printf(
" 1 carry operation.\n " );
}
else
{
printf(
" %d carry operations.\n " , ans);
}
}
return 0 ;
}

你可能感兴趣的:(poj)