UVA 10106 (暑假-高精度-A - Product)
2014-07-10 00:03
465 查看
#include <stdio.h> #include <string.h> const int Max = 1000; int main() { char str_1[Max], str_2[Max]; memset(str_1, 0, 1000); memset(str_2, 0, 1000); while (gets(str_1)) { gets(str_2); int count = 0; int s[2*Max] = {0}; int arr_1[Max] = {0}, arr_2[Max] = {0}; //输入数据 int len_1 = strlen(str_1); int len_2 = strlen(str_2); for (int i = 0; i < len_1; i++) arr_1[i] = str_1[len_1 - i - 1] - '0'; for (int j = 0; j < len_2; j++) arr_2[j] = str_2[len_2 - j - 1] - '0'; int i, j; for (i = 0; i < Max; i++) //计算 for (j = 0; j < Max; j++) { s[i+j] = s[i+j] + arr_1[i] * arr_2[j]; if (s[i+j] >= 10) { s[i+j+1] += s[i+j] / 10; s[i+j] = s[i+j] % 10; } } //输出数据 if (str_1[0] == '0' && len_1 == 1 || str_2[0] == '0' && len_2 == 1) printf("%d", s[i]); else { for (i = 2 * Max - 1; i >= 0 ; i--) if (s[i] != 0) break; for (; i >= 0; i--) printf("%d", s[i]); } memset(str_1, 0, 1000); memset(str_2, 0, 1000); printf("\n"); } return 0; } /* for (i = 0; i < 2*Max; i++) s_1[i] = s[Max*2-i-1], printf("%d", s[i]); printf("\n"); for (i = 0; i < 2*Max; i++) printf("%d",s_1[i] ); printf("\n"); */ /* for (i = 0; i< 2*Max; i++) if (s_1[i] != 0) break; for (; i < 2*Max; i++) printf("%d",s_1[i] ); printf("\n"); */ /* if (count) printf("%d", s[i]); else if (!count && s[i] == 0) count = true; */ //检查输入的数据是否正确保存 /* for (int i = 0; i < len_1; i++) printf("%d", arr_1[i]); printf("\n"); for (int j = 0; j < len_2; j++) printf("%d", arr_2[j]); printf("\n"); puts(str_2); */
相关文章推荐
- UVa 10106 Product (高精度)
- Uva 10106 Product (高精度相乘)
- UVA 10106 Product 高精度乘法
- UVA 10106 Product 简单高精度乘法
- uva 10106 Product(高精度大数乘法)
- uva 424 Integer Inquiry(高精度加法模板) uva 10106 Product(高精度乘法模板)
- UVa 10106 - Product 高精度乘法-
- (高精度运算4.7.21)UVA 10106 Product(大数乘法)
- (高精度运算4.7.21)UVA 10106 Product(大数乘法)
- Product - UVa 10106 高精度
- uva 10106 Product(高精度乘法)
- UVA 10106 - Product
- UVA - 10106 Product
- UVa 10106 Product
- UVA 10106 - Product (大数相乘问题)
- UVA 10106 Product (大数相乘)
- uva 10106 Product
- UVa 10106 - Product
- UVa 10106 - Product