L2-018 多项式A除以B (25 分)(数组模拟)

简介: L2-018 多项式A除以B (25 分)(数组模拟)

这仍然是一道关于A/B的题,只不过A和B都换成了多项式。你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数。


输入格式:

输入分两行,每行给出一个非零多项式,先给出A,再给出B。每行的格式如下:

N e[1] c[1] ... e[N] c[N]

其中N是该多项式非零项的个数,e[i]是第i个非零项的指数,c[i]是第i个非零项的系数。各项按照指数递减的顺序给出,保证所有指数是各不相同的非负整数,所有系数是非零整数,所有整数在整型范围内。


输出格式:

分两行先后输出商和余,输出格式与输入格式相同,输出的系数保留小数点后1位。同行数字间以1个空格分隔,行首尾不得有多余空格。注意:零多项式是一个特殊多项式,对应输出为0 0 0.0。但非零多项式不能输出零系数(包括舍入后为0.0)的项。在样例中,余多项式其实有常数项-1/27,但因其舍入后为0.0,故不输出。


输入样例:

1. 4 4 1 2 -3 1 -1 0 -1
2. 3 2 3 1 -2 0 1


输出样例:

1. 3 2 0.3 1 0.2 0 -1.0
2. 1 1 -3.1


07ca5d04d20a4d10947da4a3c068cf52.jpg


思路:根据题意模拟其实现过程

#include<iostream>
using namespace std;
const int N=20010;//注意空间开小了会有个点过不去
double a[N],b[N],c[N];
void rd(double f[],int idx)
{
    int res=0;
    for(int i=0;i<=idx;i++)
        if(abs(f[i])>=0.05) res++;//记录多项式的项数
    cout<<res;
    if(res==0) cout<<" 0 0.0";//零多项式
    for(int i=idx;i>=0;i--)
        if(abs(f[i])>=0.05)
            printf(" %d %.1lf",i,f[i]);//按指数递减输出
}
int main()
{
    int n,m,x,idx1=-1e9,idx2=-1e9;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>x;
        cin>>a[x];//把系数和指数关联在一起
        if(idx1<x) idx1=x;//找到被除数的最大指数
    }
    cin>>m;
    for(int i=0;i<m;i++)
    {
        cin>>x;
        cin>>b[x];
        if(idx2<x) idx2=x;
    }
    int idx3=idx1-idx2;//商的最大指数
    while(idx1-idx2>=0)
    {
        double p=a[idx1]/b[idx2];//商的系数
        c[idx1-idx2]=p;//商的指数
        for(int i=idx1,j=idx2;i>=0&&j>=0;i--,j--) a[i]-=p*b[j];//余数
        while(!a[idx1]) idx1--;//零次项直接跳过
    }
    rd(c,idx3);
    cout<<endl;
    rd(a,idx1);
    return 0;
}
目录
相关文章
|
定位技术
【CCCC】L3-007 天梯地图 (30分),两次Dijkstra+路径打印(数据点2,4错因),90行最短题解
【CCCC】L3-007 天梯地图 (30分),两次Dijkstra+路径打印(数据点2,4错因),90行最短题解
354 0
|
Java Go 数据库
深度思考:到底什么是面向接口编程?
深度思考:到底什么是面向接口编程?
254 0
|
10月前
|
数据采集 监控 数据可视化
智能数据建设与治理 Dataphin试用评测
本文是一位产品经理对阿里云DataPhin的使用评测,主要围绕数据治理与资产运营展开。文中详细解析了智能数据建模、数据标准管理等核心功能,以及数据地图和数据质量监控带来的效率提升。同时指出权限管理和第三方工具集成等方面的待优化点,并提出增加沙箱环境、行业案例库等建议,为新用户提供参考。整体评价显示,DataPhin在提升工作效率和降低人力成本方面表现出色,但仍需进一步完善细节功能以满足复杂场景需求。
|
存储 人工智能 C++
【PTA】L1-064 估值一亿的AI核心代码(详C++)
【PTA】L1-064 估值一亿的AI核心代码(详C++)
521 1
|
人工智能 Python
人工智能导论——谓词公式化为子句集详细步骤
在谓词逻辑中,有下述定义: 原子(atom)谓词公式是一个不能再分解的命题。 原子谓词公式及其否定,统称为文字(literal)。$P$称为正文字,$\neg P$称为负文字。$P$与$\neg P$为互补文字。 <font color="ddd0000">任何文字的析取式称为子句(clause)。任何文字本身也是子句。</font> 由子句构成的集合称为子句集。 不包含任何文字的子句称为空子句,表示为NIL。 <font color="ddd0000">由于空子句不含有文字,它不能被任何解释满足,所以,空子句是永假的、不可满足的。</font> 在谓词逻辑中,任何一个谓词公式都可以通过应用等
2449 1
人工智能导论——谓词公式化为子句集详细步骤
|
人工智能 供应链 安全
万字讲透:军工企业数字化转型转什么,如何做?
随着国防现代化目标的提出,军工行业景气度加速上升,企业纷纷扩产以满足新型装备加速列装的需求。航天科工集团的航天云网和中国电科的“数字电科”等项目展示了数字化转型的成效,如缩短研发周期、提高生产效率和降低成本。数字化转型对军工企业至关重要,能提升生产关系、增强竞争力,并实现生产制造和供应链的智能化。然而,转型面临挑战,包括传统认知边界、商业模式创新、技术合作共享、人才短缺和观念体制障碍。企业需制定数字化战略规划,重构组织与流程,加强网络安全,并确保人才和技术保障。案例显示,低代码平台如织信Informat可助力企业实现国产化、灵活的战略部署和数字化转型。
|
TensorFlow 算法框架/工具 Python
最新版tensorflow安装教程,pip安装+手动安装
最新版tensorflow安装教程,pip安装+手动安装
6117 1
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的校园二手交易平台系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的校园二手交易平台系统的详细设计和实现(源码+lw+部署文档+讲解等)
432 1
|
SQL XML Java
[Java]Mybatis学习笔记(动力节点老杜)(一)
[Java]Mybatis学习笔记(动力节点老杜)(一)
|
运维 网络协议 网络架构
OpenWRT实现NAT64/DNS64
OpenWRT实现NAT64/DNS64
816 1

热门文章

最新文章