加入收藏 | 设为首页 | 会员中心 | 我要投稿 徐州站长网 (https://www.0516zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数相乘-写的比较麻烦

发布时间:2021-01-20 12:06:49 所属栏目:大数据 来源:网络整理
导读:#includestdio.h #includestring.h void strtoint(char *str,int * cheng,int n) { int i; for(i = 0;in;i++) { cheng[n-i-1] = str[i] -'0'; } for(i = 0;in;i++) { printf("%d ",cheng[i]); } printf("n"); } int ?getresult(int *cheng1,int * cheng2,

#include<stdio.h> #include<string.h> void strtoint(char *str,int * cheng,int n) { int i; for(i = 0;i<n;i++) { cheng[n-i-1] = str[i] -'0'; } for(i = 0;i<n;i++) { printf("%d ",cheng[i]); } printf("n"); } int ?getresult(int *cheng1,int * cheng2,int len1,int len2,int *sum) { int i,j; int tmp = 0; for(i = 0;i<len1+len2;i++) { sum[i] = 0; } for(i = 0 ;i<len2;i++) { for(j=0;j<len1;j++) { sum[i+j] += ?(cheng2[i] * cheng1[j] %10 + tmp); printf("sum1[%d] = %dn",i+j,sum[i+j]); int tmp1 = sum[i+j]; sum[i+j] = sum[i+j] %10; printf("sum[%d] = %dn",sum[i+j]); tmp ?= tmp1 /10; printf("tmp = %dn",tmp); tmp += cheng2[i] * cheng1[j]/10; printf("tmp2 = %dn",tmp); } if(tmp != 0) sum[i+j-1] = tmp; int m; for(m = 0;m<i+j;m++) { printf("%d ",sum[m]); } printf("n"); } if(tmp == 0) return i+j -2; else { return i+j -1 ? ; } } int main() { char str1[1024]; char str2[1024]; char strsum[1024]; int cheng1[1024]; int cheng2[1024]; int sum[1024]; scanf("%s",str1); scanf("%s",str2); int len1 = strlen(str1); int len2 = strlen(str2); strtoint(str1,cheng1,len1); strtoint(str2,cheng2,len2); int num = getresult(cheng1,len1,len2,sum); int i; printf("num = %dn",num); for(i=num;i>=0;i--) { printf("%d ",sum[i]); } }

(编辑:徐州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读