您的位置:首页 > 其它

多项式的表达与处理(模板)

2018-03-12 16:09 148 查看
struct node
{
int num
;
int cnt;
}a,b;

int muti(int k)
{
for(int i=0;i<a.cnt;i++)
a.num[i]*=k;
int i;
for(i=0;i<a.cnt;i++)
{
a.num[i+1]+=a.num[i]/10;
a.num[i]%=10;
}
//剩余之后
while(a.num[i])
{
a.num[i+1]+=a.num[i]/10;
a.num[i]%=10;
i++;
}
//去零
while(i>=0&&!a.num[i]) i--;
a.cnt=i+1;
}

node add(node a,node b)
{
node temp;
memset(temp.num,0,sizeof(temp.num));
temp.cnt=0;
for(int i=0,j=0,g=0;;i++,j++)
{
if(g==0&&i>=a.cnt&&j>=b.cnt) break;
int t=g;
if(i<a.cnt) t+=a.num[i];
if(j<b.cnt) t+=b.num[i];
temp.num[temp.cnt++]=t%10;
g=t/10;
}
return temp;
}


习题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: