UVA 10106 - Product
2015-03-16 14:02
204 查看
将数学运算过程程序化,注意地址的变动,缩位进位就可以啦!
#include<stdio.h> #include<string.h> #define MAXN1 250 + 10 #define MAXN2 500 + 10 char s1[MAXN1], s2[MAXN1]; int num[MAXN2],num1[MAXN1],num2[MAXN1]; void solve() { int len1 = strlen(s1); for(int i = 0; i < len1; i ++) num1[i] = s1[len1-i-1] - '0'; int len2 = strlen(s2) ; for(int j = 0; j < len2; j ++) num2[j] = s2[len2-1-j] - '0'; for(int p = 0; p < len2; p ++) { for(int q = 0; q < len1; q ++) { num[p+q] += num2[p] * num1[q];//printf("num[p+q]=%d",num[p+q]); if(num[p+q]>9) { num[p+q+1] += num[p+q]/10; num[p+q] %= 10; } } } } void output() { int i; for(i = MAXN2; i >= 0; i --) { if(i == 0) break; if(num[i] != 0) break; } for(int j = i; j >=0; j --) printf("%d",num[j]); printf("\n"); } void input() { while(scanf("%s",s1) == 1) { memset(num,0,sizeof(num)); scanf("%s",s2); solve(); output(); } } int main() { input(); return 0; }
相关文章推荐
- UVA 10106 Product (高精度乘法)
- uva 10106 Product
- Product - UVa 10106 高精度
- UVA 10106 Product 简单高精度乘法
- UVA 10106 (暑假-高精度-A - 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 (高精度)
- UVa:10106 - Product
- uva 10106 - Product
- UVa 10106 Product
- UVa 10106 - Product
- UVa 10106 - Product
- UVA 10106 Product
- UVa 10106 - Product