大数的乘法给出一些整数对,一个为可能接近100位的大数a,另一个为1位数b,计算a*b的结果.(a,b均非负)大虾们帮我
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/22 06:58:36
大数的乘法
给出一些整数对,一个为可能接近100位的大数a,另一个为1位数b,计算a*b的结果.(a,b均非负)
大虾们帮我看看我的代码为什么总说超时
#include
#include
int main(void)
{
char a[200],b;
while(scanf("%s %c",a,&b)!='\0')
{
int c,d[200],e=0,f,g=0,x,y,lenth;
x=b-48;
lenth=strlen(a);
for(c=lenth-1;c>=0;c--,e++)
{
y=a[c]-48;
if(c!=0)
d[e]=(x*y+g)%10;
else
d[e]=x*y+g;
g=x*y/10;
}
if(x==0)
printf("0\n");
else
{
for(c=e-1;c>=0;c--)
printf("%d",d[c]);
printf("\n");
}
}
return 0;
}
给出一些整数对,一个为可能接近100位的大数a,另一个为1位数b,计算a*b的结果.(a,b均非负)
大虾们帮我看看我的代码为什么总说超时
#include
#include
int main(void)
{
char a[200],b;
while(scanf("%s %c",a,&b)!='\0')
{
int c,d[200],e=0,f,g=0,x,y,lenth;
x=b-48;
lenth=strlen(a);
for(c=lenth-1;c>=0;c--,e++)
{
y=a[c]-48;
if(c!=0)
d[e]=(x*y+g)%10;
else
d[e]=x*y+g;
g=x*y/10;
}
if(x==0)
printf("0\n");
else
{
for(c=e-1;c>=0;c--)
printf("%d",d[c]);
printf("\n");
}
}
return 0;
}
#include
#include
int chenfa(char *a,int n,char b){
char c[101];int i,j,k,t,d;
d=b-'0';j=0;k=0;
for(i=n;i>=0;i--){
t=((*(a+i))-'0')*d+k;
if(t>9){
k=t/10;t=t%10;}
else k=0;
c[j]=t+'0';j=j+1;}
if(k==0) c[j]='\0';
else{
c[j]=k+'0';c[j+1]='\0';n=n+1;}
t=1;
for(i=n;i>=0;i--){
if(t==1&&c[i]=='0'&&i>0) continue;
else{
putchar(c[i]);t=0;}}
printf("\n");
return 0;}
int main(void){
char a[104],b;
int i,n;char *e;
while(gets(a)){
n=strlen(a);
b=a[n-1];
n=n-3;
chenfa(&a[0],n,b);}
return 0;}
这个是我做的,AC了,我QQ号是233095121,有空可以一起交流下
我也是新手
你的我再看下
#include
int chenfa(char *a,int n,char b){
char c[101];int i,j,k,t,d;
d=b-'0';j=0;k=0;
for(i=n;i>=0;i--){
t=((*(a+i))-'0')*d+k;
if(t>9){
k=t/10;t=t%10;}
else k=0;
c[j]=t+'0';j=j+1;}
if(k==0) c[j]='\0';
else{
c[j]=k+'0';c[j+1]='\0';n=n+1;}
t=1;
for(i=n;i>=0;i--){
if(t==1&&c[i]=='0'&&i>0) continue;
else{
putchar(c[i]);t=0;}}
printf("\n");
return 0;}
int main(void){
char a[104],b;
int i,n;char *e;
while(gets(a)){
n=strlen(a);
b=a[n-1];
n=n-3;
chenfa(&a[0],n,b);}
return 0;}
这个是我做的,AC了,我QQ号是233095121,有空可以一起交流下
我也是新手
你的我再看下
已知a+b=2,ab=-1,求b(1.大数和小数的差为6,这两个数的和为30,则大数是( ),小数是( )
有一个四位数ABCD,等于四个质数abcd的积,即ABCD=a×b×c×d,且ABCD为符合这个条件的次大数,求ABCD
已知根号5的整数部分为a,小数部分为b,求a的平方减的b平方的值(结果保留两位小数)
a,b均为整数且b不等于0,则表达式a/b*b+a%b的值为多少 同号时为什么结果为a
若a,b,c为整数,且|a-b|+|c-a|=1,试计算|c-a|+|a-b|+|b-c|的值
若a,b,c为整数,且|a-b|19+|c-a|99=1,试计算|c-a|+|a-b|+|b-c|的值.
初一绝对值计算若a,b,c为整数,且|a-b|的2003次方+|c-a|的2004次方=1,求|a-b|+|b-c|+|
一个三角形低为3a,高为2b,另一个三角形低 为4a,高为3b,计算两个三角形面积的比.
若a,b,c为一个三角形的三边,泽化简代数式|a-b-c|+|a+b-c|的结果为?
东东和洋洋两位同学计算一道整式乘法题(2x+a)(3x+b),东东不小心炒错了a的符号,得到结果为6x^2+11x-10
一个3位数除以41,商A余数是b(A,B都是整数).求A+B的最大值
自然数x=abc化为二进制数是一个七位数,且最后六位为a.b.c.a.b.c,求x的值(过程)