c语言大数乘法
来源:互联网 发布:h3c查看端口状态 编辑:程序博客网 时间:2024/06/06 08:58
大数乘法
Time Limit: 3000ms, Memory Limit: 10000KB , Accepted:2347, Total Submissions:3364
Description
编写一个程序实现A*B,A和B两个数的位数有近100位。注意:需要处理正负数的情形,但不考虑小数。
提示:C或C++没有直接表示100位的数据类型,我们得自己先构造一个合适的类型,接下来还需要一些巧妙的方法处理100位数的输入和输出,因为标准输入输出同样没有这样类型的处理功能。
Input
分别用两行输入不超过100位的A和B(没有小数点,允许正负号)。
Output
输出A*B的结果。
- Sample Input
33333333333332222222222222
- Sample Output
7407407407405925925925926
#include<stdio.h>
#include<string.h>
int x[100],y[100],c[200],m,n;
void cal();
void output();
int main()
{
char a[100],b[100];
int i,j,z,d,k;
scanf("%s",&a);
scanf("%s",&b);
m=strlen(a);
n=strlen(b);
if(a[0]=='-'&&b[0]!='-')
{
j=0;
for(i=m-1;i>=1;i--)
{
x[j]=a[i]-48;
j++;
}
j=0;
for(i=n-1;i>=0;i--)
{
y[j]=b[i]-48;
j++;
}
printf("-");
cal();
}
if(a[0]!='-'&&b[0]=='-')
{
j=0;
for(i=m-1;i>=0;i--)
{
x[j]=a[i]-48;
j++;
}
j=0;
for(i=n-1;i>=1;i--)
{
y[j]=b[i]-48;
j++;
}
printf("-");
cal();}
if(a[0]!='-'&&b[0]!='-')
{
j=0;
for(i=m-1;i>=0;i--)
{
x[j]=a[i]-48;
j++;
}
j=0;
for(i=n-1;i>=0;i--)
{
y[j]=b[i]-48;
j++;
}
cal();
}
if(a[0]=='-'&&b[0]=='-')
{
j=0;
for(i=m-1;i>=1;i--)
{
x[j]=a[i]-48;
j++;
}
j=0;
for(i=n-1;i>=1;i--)
{
y[j]=b[i]-48;
j++;
}
cal();
}
}
void cal()
{
int i,j,z,k,d;
for(i=0;i<=m+n;i++)
{
c[i]=0;
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
z=x[i]*y[j];
if(z>=10)
{
d=z%10;
k=z/10;
c[i+j]+=d;
c[i+j+1]+=k;
}
else c[i+j]+=z;
}
}
for(i=0;i<m+n;i++)
{
if(c[i]>=10)
{
d=c[i]%10;
k=c[i]/10;
c[i]=d;
c[i+1]+=k;
}
}
for(int i=m+n-1;i>=0;i--)
{
if(i==m+n-1&&c[i]==0)continue;
else
{
printf("%d",c[i]);
}
}
}
阅读全文
1 0
- 大数乘法 C语言
- C语言大数乘法
- 大数 乘法 C语言
- c语言大数乘法
- c语言-大数乘法
- C语言 乘法 大数相乘
- C语言实现大数整数乘法
- C语言实现大数整数乘法
- c语言-大数乘法(16进制)
- c语言大数乘法各位相加问题
- 大数乘法 - 大数作为字符串的C语言操作
- 大数乘法C实现
- 大数乘法(C++)
- 大数乘法(转载:通过C语言数组模拟)
- C语言大数乘法求1000的阶乘(九度OJ 1076)
- 用C语言写的超长的大数乘法,不支持负数,新手上路请多指点
- C语言 高精度乘法
- C语言--乘法口诀
- 5.6
- es6笔记·····includes()
- 数据结构与算法分析(Java语言描述)(7)—— 快速排序
- python3-dict操作
- java 单链表简单实现
- c语言大数乘法
- 完美转发std::forward与auto/decltype的一些小知识
- 习题6.1(2)
- 扩展欧几里德求解ax + by = c 的 最小正整数解 ( x, y)
- html5手机视频直播
- 机房收费系统—子窗体如何显示
- NoSQL学习(27)
- 负载均衡之Haproxy配置详解(及httpd配置)
- java面试总结-4 spring