大数据乘法
xxy220543
9年前
// 大数据乘法.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include<stdio.h> #include<string.h> #include<stdlib.h> void getData(char* str1,char* str2){ int s1,s2; s1=strlen(str1); s2=strlen(str2); int* p=(int*)malloc((s1+s2)*sizeof(int)); memset(p,0,(s1+s2)*sizeof(int)); for(int i=0;i<s1;i++){ for(int j=0;j<s2;j++){ p[i+j]+=(str2[j]-'0')*(str1[i]-'0'); } } for(int i=s1+s2-1;i>=0;i--){ if(p[i]>=10){ p[i-1]=p[i]/10; p[i]%=10; } } int i=0; while(p[i]==0){ i++; } int j; char* lastResult=(char*)malloc(100*sizeof(char)); for(j=0;j<s1+s2-1;j++,i++){ lastResult[j]=p[i]+'0'; } lastResult[j]='\0'; printf("最后结果:%s",lastResult); } int main1(){ char num1[100]={0}; char num2[100]={0}; scanf("%s%s",num1,num2); getData(num1,num2); return 0; } int main2(){ printf("该方法更好"); return 0; } /*int _tmain(int argc, _TCHAR* argv[]) { return 0; }*/