UVA - 10106 Product 第二种解法
2014-10-05 17:10
381 查看
题目大意:求两个数的成积
解题思路:分步解决,一个个相乘再相加
解题思路:分步解决,一个个相乘再相加
#include<cstdio> #include<cstring> void add(char *sum, char * num2,int len) { int i; for( i = 0 ; i < len; i++) { int num = sum[i] + num2[i] - '0'; sum[i] = num % 10; if(num > 9) sum[i+1] = sum[i+1] + 1; } } int main() { char num1[1000]; char num2[1000]; while( gets(num1)) { gets(num2); int len1 = strlen(num1); int len2 = strlen(num2); char temp[1000]; char sum[2000] = {0}; int j , l; for(int i = len1 - 1, k = 0; i >= 0; i--, k++) { int mark = 0; for( j = len2 - 1, l = k; j >= 0; j--,l++) { int num =( num1[i] - '0') * (num2[j] - '0') + mark; mark = num / 10; num = num % 10; temp[l] = num + '0'; } if(mark > 0) { temp[l] = mark + '0'; l++; } add(sum,temp,l); memset(temp,'0',sizeof(temp)); } int len3 = 1999; if(num1[0] == '0' && len1 == 1 || num2[0] == '0' && len2 == 1) printf("0"); else { for(;;len3--) if(sum[len3] != 0) break; for(int i = len3; i >= 0; i--) printf("%d",sum[i]); } printf("\n"); } return 0; }
相关文章推荐
- UVa 10106 Product
- uva 10106 Product(高精度大数乘法)
- UVa 10106 - Product
- UVa 10106 - Product
- UVA 10106 Product 高精度乘法
- UVa OJ 10106-Product
- UVa - 10106 - Product
- UVa - 10106 - Product
- Product - UVa 10106 高精度
- uva 424 Integer Inquiry(高精度加法模板) uva 10106 Product(高精度乘法模板)
- UVa 10106 - Product
- UVa 10106 Product
- uva 10106 Product 大数相乘
- UVA-10106 Product
- UVA - 10106 Product
- UVA - 10106 Product
- UVa 10106 Product
- (高精度运算4.7.21)UVA 10106 Product(大数乘法)
- Uva 10106 Product
- UVA 10106 - Product