【51nod】1027 大数乘法
2016-12-10 10:44
363 查看
1027 大数乘法
基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题
收藏
关注
给出2个大整数A,B,计算A*B的结果。
Input
Output
Input示例
Output示例
这个没有正负
#include<stdio.h>
#include<string.h>
int main()
{
char a[1010],b[1010];
int lena,lenb,l,n,c[2010],i;
while(scanf("%s%s",a,b)!=EOF)
{
lena=strlen(a),lenb=strlen(b);
l=lena+lenb;
memset(c,0,(l+5)*sizeof(int));
for(int j=0;j<lena;j++)
for(int k=0;k<lenb;k++)
c[j+k]+=(a[j]-'0')*(b[k]-'0');
for(i=l-2;i>0;i--)
c[i-1]+=c[i]/10,c[i]=c[i]%10;
for(i=0;i<l-1;i++)
printf("%d",c[i]);
printf("\n");
}
return 0;
}加上正负
#include<stdio.h>
#include<string.h>
int main()
{
char a[1010],b[1010],*pa,*pb;bool za,zb,flag;
int lena,lenb,l,n,c[2010],i;
while(scanf("%s%s",a,b)!=EOF)
{
za=a[0]=='-';zb=b[0]=='-';
flag=za^zb;
pa=a+za,pb=b+zb;
lena=strlen(pa),lenb=strlen(pb);
l=lena+lenb;
memset(c,0,(l+5)*sizeof(int));
for(int j=0;j<lena;j++)
for(int k=0;k<lenb;k++)
c[j+k]+=(pa[j]-'0')*(pb[k]-'0');
for(i=l-2;i>0;i--)
c[i-1]+=c[i]/10,c[i]=c[i]%10;
if(flag) printf("-");
for(i=0;i<l-1;i++)
printf("%d",c[i]);
printf("\n");
}
return 0;
}
基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题
收藏
关注
给出2个大整数A,B,计算A*B的结果。
Input
第1行:大数A 第2行:大数B (A,B的长度 <= 1000,A,B >= 0)
Output
输出A * B
Input示例
123456 234567
Output示例
28958703552
这个没有正负
#include<stdio.h>
#include<string.h>
int main()
{
char a[1010],b[1010];
int lena,lenb,l,n,c[2010],i;
while(scanf("%s%s",a,b)!=EOF)
{
lena=strlen(a),lenb=strlen(b);
l=lena+lenb;
memset(c,0,(l+5)*sizeof(int));
for(int j=0;j<lena;j++)
for(int k=0;k<lenb;k++)
c[j+k]+=(a[j]-'0')*(b[k]-'0');
for(i=l-2;i>0;i--)
c[i-1]+=c[i]/10,c[i]=c[i]%10;
for(i=0;i<l-1;i++)
printf("%d",c[i]);
printf("\n");
}
return 0;
}加上正负
#include<stdio.h>
#include<string.h>
int main()
{
char a[1010],b[1010],*pa,*pb;bool za,zb,flag;
int lena,lenb,l,n,c[2010],i;
while(scanf("%s%s",a,b)!=EOF)
{
za=a[0]=='-';zb=b[0]=='-';
flag=za^zb;
pa=a+za,pb=b+zb;
lena=strlen(pa),lenb=strlen(pb);
l=lena+lenb;
memset(c,0,(l+5)*sizeof(int));
for(int j=0;j<lena;j++)
for(int k=0;k<lenb;k++)
c[j+k]+=(pa[j]-'0')*(pb[k]-'0');
for(i=l-2;i>0;i--)
c[i-1]+=c[i]/10,c[i]=c[i]%10;
if(flag) printf("-");
for(i=0;i<l-1;i++)
printf("%d",c[i]);
printf("\n");
}
return 0;
}
相关文章推荐
- 51Nod 1027 大数乘法
- 51Nod 1027 大数乘法
- 51nod 1027 大数乘法
- 51nod 1027 大数乘法
- 51nod_1027 大数乘法
- 51Nod-1027-大数乘法
- 51Nod 1027 大数乘法
- 51nod 1027 大数乘法
- 51Nod 1027 大数乘法
- I - 大数乘法 51Nod - 1027
- 51NOD 1027 大数乘法
- 51Nod - 1027 大数乘法
- 51Nod-1027 大数乘法
- 51nod 1027 大数乘法
- 51nod -1027 . 大数乘法
- 【51nod】1027 大数乘法
- 51nod 1027 大数乘法
- 51nod 1027 大数乘法
- 1027 大数乘法 ——51Nod
- 51 Nod 1027 大数乘法【Java大数乱搞】