#include<stdio.h>
#define MAX_DEGREE 101
typedef struct{
int degree;
float coef[MAX_DEGREE];
}polynomial;
polynomial poly_product(polynomial A,polynomial B)
{
int i,j;
polynomial C,Tmp;
int degree_a=A.degree;
int degree_b=B.degree;
C.degree=A.degree+B.degree;
for(i = 0; i < MAX_DEGREE; i++)
{
C.coef[i] = 0;
}
for(i=0;i<=degree_a;i++){
for(j=0; j<=degree_b;j++){
C.coef[i+j]+=A.coef[i]*B.coef[j];
}
}
return C;
}
void main(void)
{
polynomial a = { 5, {10, 0, 0, 0, 6, 3} };
polynomial b = { 4, {1, 0, 5, 0, 7} };
polynomial c;
c = poly_product(a,b);
int i;
printf("차수 : %d차식\n",c.degree);
for(i=c.degree;i>0;i--)
{
printf("%d차 계수 : %.2lf\n",i,c.coef[i]);
}
printf("상수 : %.2lf\n",c.coef[0]);
}
다항식의 곱셈소스인데
여기서 상수의 값부터 최고차항까지의 값이 반대로 나오는데 어떻게 해야할까요...?
댓글 0