大整数乘法 C语言设计Description 求两个不超过200位的非负整数的积. Input 有两行,每行是一个不超过200位的非负整数,没有多余的前导0. Output 一行,即相乘后的结果.结果里不能有多余的前导0,即
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/02 06:09:04
![大整数乘法 C语言设计Description 求两个不超过200位的非负整数的积. Input 有两行,每行是一个不超过200位的非负整数,没有多余的前导0. Output 一行,即相乘后的结果.结果里不能有多余的前导0,即](/uploads/image/z/8886413-29-3.jpg?t=%E5%A4%A7%E6%95%B4%E6%95%B0%E4%B9%98%E6%B3%95+C%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1Description+%E6%B1%82%E4%B8%A4%E4%B8%AA%E4%B8%8D%E8%B6%85%E8%BF%87200%E4%BD%8D%E7%9A%84%E9%9D%9E%E8%B4%9F%E6%95%B4%E6%95%B0%E7%9A%84%E7%A7%AF.+Input+%E6%9C%89%E4%B8%A4%E8%A1%8C%2C%E6%AF%8F%E8%A1%8C%E6%98%AF%E4%B8%80%E4%B8%AA%E4%B8%8D%E8%B6%85%E8%BF%87200%E4%BD%8D%E7%9A%84%E9%9D%9E%E8%B4%9F%E6%95%B4%E6%95%B0%2C%E6%B2%A1%E6%9C%89%E5%A4%9A%E4%BD%99%E7%9A%84%E5%89%8D%E5%AF%BC0.+Output+%E4%B8%80%E8%A1%8C%2C%E5%8D%B3%E7%9B%B8%E4%B9%98%E5%90%8E%E7%9A%84%E7%BB%93%E6%9E%9C.%E7%BB%93%E6%9E%9C%E9%87%8C%E4%B8%8D%E8%83%BD%E6%9C%89%E5%A4%9A%E4%BD%99%E7%9A%84%E5%89%8D%E5%AF%BC0%2C%E5%8D%B3)
大整数乘法 C语言设计Description 求两个不超过200位的非负整数的积. Input 有两行,每行是一个不超过200位的非负整数,没有多余的前导0. Output 一行,即相乘后的结果.结果里不能有多余的前导0,即
大整数乘法 C语言设计
Description 求两个不超过200位的非负整数的积. Input 有两行,每行是一个不超过200位的非负整数,没有多余的前导0. Output 一行,即相乘后的结果.结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342. Sample Input 12345678900 98765432100 Sample Output 1219326311126352690000
大整数乘法 C语言设计Description 求两个不超过200位的非负整数的积. Input 有两行,每行是一个不超过200位的非负整数,没有多余的前导0. Output 一行,即相乘后的结果.结果里不能有多余的前导0,即
#include #include int main(void) { int r[401]={0}; char n1[201]={'\0'}, n2[201]={'\0'}; gets(n1); gets(n2); int len1=strlen(n1), len2=strlen(n2); int i, j, k; for(i=len1-1;i>=0;--i) { for(j=len2-1;j>=0;--j) { r[len1+len2-2-i-j]+=(n1[i]-'0')*(n2[j]-'0'); } for(k=0;k9) { r[k+1]+=r[k]/10; r[k]%=10; } } } int n=len1+len2-1; if(r[n]==0) --n; for(i=n;i>=0;--i) printf("%d",r[i]); return 0; }