1009 Product of Polynomials (25)
2014-02-16 19:31
423 查看
#include<iostream>
using namespace std;
class CA
{
public:
enum{N=100};
void init();
void run();
private:
struct poly
{
int k;
int exp
;
float cos
;
};
poly *a,*b,*c;
};
void CA::init()
{
a=new poly;
cin>>a->k;
int i;
for(i=0;i<a->k;i++)
{
cin>>a->exp[i]>>a->cos[i];
}
b=new poly;
cin>>b->k;
for(i=0;i<b->k;i++)
{
cin>>b->exp[i]>>b->cos[i];
}
}
void CA::run()
{
init();
c=new poly;
c->k=a->k*b->k;
if(c->k==0)
{
printf("1 0 0.0");
}
else
{
int i,j,count;
count=0;
for(i=0;i<a->k;i++)
{
for(j=0;j<b->k;j++)
{
c->exp[count]=a->exp[i]+b->exp[j];
c->cos[count]=a->cos[i]*b->cos[j];
count++;
}
}
int tmpex,tmpco;
int weishu=0;
for(i=1;i<c->k-1;i++)
{
for(j=i-1;j>=0;j--)
{
if(c->exp[j+1]>c->exp[j])
{
tmpex=c->exp[j+1];
tmpco=c->cos[j+1];
c->exp[j+1]=c->exp[j];
c->cos[j+1]=c->cos[j];
c->exp[j]=tmpex;
c->cos[j]=tmpco;
}
if(c->exp[j+1]==c->exp[j])
{
c->cos[j]=c->cos[j]+c->cos[j+1];
c->exp[j+1]=0;
c->cos[j+1]=0;
}
}
}
for(i=0;i<c->k;i++)
if(c->cos[i]!=0.0)
weishu++;
printf("%d",weishu);
for(i=0;i<c->k;i++)
{
if(c->cos[i]!=0.0)
{
printf(" %d %.1f",c->exp[i],c->cos[i]);
}
}
}
}
int main()
{
CA *w=new CA;
w->run();
return 0;
}
using namespace std;
class CA
{
public:
enum{N=100};
void init();
void run();
private:
struct poly
{
int k;
int exp
;
float cos
;
};
poly *a,*b,*c;
};
void CA::init()
{
a=new poly;
cin>>a->k;
int i;
for(i=0;i<a->k;i++)
{
cin>>a->exp[i]>>a->cos[i];
}
b=new poly;
cin>>b->k;
for(i=0;i<b->k;i++)
{
cin>>b->exp[i]>>b->cos[i];
}
}
void CA::run()
{
init();
c=new poly;
c->k=a->k*b->k;
if(c->k==0)
{
printf("1 0 0.0");
}
else
{
int i,j,count;
count=0;
for(i=0;i<a->k;i++)
{
for(j=0;j<b->k;j++)
{
c->exp[count]=a->exp[i]+b->exp[j];
c->cos[count]=a->cos[i]*b->cos[j];
count++;
}
}
int tmpex,tmpco;
int weishu=0;
for(i=1;i<c->k-1;i++)
{
for(j=i-1;j>=0;j--)
{
if(c->exp[j+1]>c->exp[j])
{
tmpex=c->exp[j+1];
tmpco=c->cos[j+1];
c->exp[j+1]=c->exp[j];
c->cos[j+1]=c->cos[j];
c->exp[j]=tmpex;
c->cos[j]=tmpco;
}
if(c->exp[j+1]==c->exp[j])
{
c->cos[j]=c->cos[j]+c->cos[j+1];
c->exp[j+1]=0;
c->cos[j+1]=0;
}
}
}
for(i=0;i<c->k;i++)
if(c->cos[i]!=0.0)
weishu++;
printf("%d",weishu);
for(i=0;i<c->k;i++)
{
if(c->cos[i]!=0.0)
{
printf(" %d %.1f",c->exp[i],c->cos[i]);
}
}
}
}
int main()
{
CA *w=new CA;
w->run();
return 0;
}
相关文章推荐
- PAT A1009 Product of Polynomials(25)
- PATA-1009 Product of Polynomials (25)
- PAT 1009 Product of Polynomials (25)多项式乘积
- 1009 Product of Polynomials (25)
- PAT 1009 Product of Polynomials (25)
- PAT-1009 Product of Polynomials (25)
- PAT 1009 Product of Polynomials (25)
- PAT-Java-1009-Product of Polynomials (25)
- PAT (Advanced Level) Practise 1009 Product of Polynomials (25)
- 浙大PAT (Advanced Level) Practise 1009 Product of Polynomials (25)
- PAT-A1009 Product of Polynomials (25)(模拟)
- 【PAT】甲级1009 - Product of Polynomials(多项式乘法)
- 1009 Product of Polynomials --多项式乘法
- PAT 1009(甲级) Product of Polynomials
- pat 1009 Product of Polynomials
- Pat(Advanced Level)Practice--1009(Product of Polynomials)
- PAT1009:Product of Polynomials
- pat甲级1009:Product of Polynomials
- PAT A1009 Product of Polynomials
- PAT 1009 Product of Polynomials