首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >任意长度多项式的乘法算法?

任意长度多项式的乘法算法?
EN

Stack Overflow用户
提问于 2014-09-19 16:52:01
回答 2查看 280关注 0票数 0

假设我们将多项式表示为浮动数组,其中多项式中每个项的程度对应于数组中的索引(例如。4.2x^5+x^2-1.4将表示为{-1.4, 0, 1, 0, 0, 4.2}

我的任务问题是用C编写一个方法,将两个任意长度的多项式相乘并打印出结果(而不是返回结果)。

通常情况下,当我问问题时,我会包括到目前为止我尝试过的内容,但我对这个问题完全一无所知。这就是我所拥有的一切

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
void multpoly(float *a, int len_a, float *b, int len_b)
{
    for(i = 0; i < len_result; i++)
    {
        printf(" %.5f, ", product[i]);
    }
}

任何帮助都将不胜感激!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-19 17:41:12

我相信这能做你想做的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// constraints: 'result' must have space for at least len1 + len2 - 1 elements.
void multpoly(const float *poly1, int len1, const float *poly2, int len2, float *result)
{
    int i, p1i, p2i;
    int len_result = len1 + len2 - 1;

    for (i = 0; i < len_result; i++) result[i] = 0.0;

    for (p1i = 0; p1i < len1; ++p1i)
        for (p2i = 0; p2i < len2; ++p2i)
            result[p1i + p2i] += poly1[p1i] * poly2[p2i];
}

这个函数的一个例子

票数 3
EN

Stack Overflow用户

发布于 2014-09-19 17:39:17

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <stdio.h>
#include <string.h>

main()
{
    float a[5]={1, 2, 3};
    float b[5]={2, 0, 1};

    printPol(a, b, 3, 3);

}

void printPol(float*a, float*b, int len1, int len2)
{
    int i, j;

    // order of resulting poly is o1+o2
    // o1 = len1 -1
    // o2 = len2 -1
    // length is order + 1 (+1 is the constant number)
    int len = (len1-1)+(len2-1)+1;

    float res[len];
    //initialize 
    for(i=0;i<len; i++) res[i] = 0;


    for(i=0; i<len1; i++)     
        for(j=0; j<len2; j++)
        {
            // mutually multiply all elements

            res[i+j] += a[i]*b[j]; 
        }
    printf("%f ", res[0]);  
    for(i=1;i<len; i++) printf("+%f*x^%d ", res[i], i);


}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25944168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文