题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805060372905984

题意:给定两个多项式,求出其做除法运算的商和余数。

思路:记下除数、被除数的最大指数,按照多项式除法的算法模拟即可,要注意的是这里的舍入操作是四舍五入,而不是向下取整,还有浮点运算存在误差,比如对浮点数f进行判零操作应该:abs(f)<0.0000001,因为你初始化f=0,在计算机中实际可能存的是0.00...01。

AC代码:

 #include<bits/stdc++.h>
using namespace std; const int maxn=;
int m1,m2,n,t1,t2,n1,n2;
double cc;
double c1[maxn],c2[maxn],c3[maxn]; int main(){
scanf("%d",&n);
for(int i=;i<n;++i){
scanf("%d%d",&t1,&t2);
if(i==) m1=t1;
c1[t1]=t2;
}
scanf("%d",&n);
for(int i=;i<n;++i){
scanf("%d%d",&t1,&t2);
if(i==) m2=t1,cc=t2;
c2[t1]=t2;
}
for(int i=m1;i>=m2;--i)
if(c1[i]<=-0.0000001||c1[i]>=0.0000001){
c3[i-m2]=c1[i]/cc;
for(int j=m2-;j>=;--j)
if(c2[j]<=-0.0000001||c2[j]>=0.0000001)
c1[i-m2+j]-=c1[i]*c2[j]/cc;
}
for(int i=m1-m2;i>=;--i)
if(abs(c3[i])+0.05>=0.1)
++n1;
for(int i=m2-;i>=;--i)
if(abs(c1[i])+0.05>=0.1)
++n2;
printf("%d",n1);
if(!n1)
printf(" 0 0.0");
for(int i=m1-m2;i>=;--i)
if(abs(c3[i])+0.05>=0.1)
printf(" %d %.1f",i,c3[i]);
printf("\n%d",n2);
if(!n2)
printf(" 0 0.0");
for(int i=m2-;i>=;--i)
if(abs(c1[i])+0.05>=0.1)
printf(" %d %.1f",i,c1[i]);
printf("\n");
return ;
}

pta l2-18(多项式A除以B)的更多相关文章

  1. 多项式A除以B

    这个问题我是在PAT大区赛题里遇见的.题目如下: 多项式A除以B(25 分) 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数 ...

  2. L2-018. 多项式A除以B*

    L2-018. 多项式A除以B 参考博客 #include <iostream> #include <map> #include <cmath> #include ...

  3. 7-10 多项式A除以B (25分)(多项式除法)

    7-10 多项式A除以B (25分)   这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行,每行给出 ...

  4. (转载) 天梯赛 L2-018. 多项式A除以B

    题目链接 题目描述 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行,每行给出一个非零多项式,先给出 ...

  5. 团体程序设计天梯赛 L2-018. 多项式A除以B(模拟)

    题意:给你A,B两个多项式,问你A/B的值:注意多项式给你的是每个式子的指数与系数:保留到一位小数,如果出现系数为0(保留后也是)的情况,请不要输出它,如果没有非系数为0的情况就输出特殊 题解:多项式 ...

  6. L2-018 多项式A除以B(模拟)

    这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行,每行给出一个非零多项式,先给出A,再给出B.每行的 ...

  7. 7-10 多项式A除以B (25 分)

    题目链接:https://pintia.cn/problem-sets/1108548596745592832/problems/1108548661014913033 题目大意: 这仍然是一道关于A ...

  8. CCCC L2-018. 多项式A除以B 直接上map,然后stack处理输出

    https://www.patest.cn/contests/gplt/L2-018 题意:模拟多项式除法. 题解:短除法,初中奥数老师,高中数学老师,高数老师都讲过2333. 模拟之前,关于保存 多 ...

  9. PAT L2-018. 多项式A除以B

    暴力,模拟. 比赛搞了一个小时搞到了$1$分.赛场上不够冷静......之前没接触过多项式除法,但赛场上想到了除法的规则,莫名其妙写的时候不知道哪里崩了.对于这样的题目,应该先测一测数据的指数是不是很 ...

随机推荐

  1. hive 动态分区实现 (hive-1.1.0)

    笔者使用的hive版本是hive-1.1.0 hive-1.1.0动态分区的默认实现是只有map没有reduce,通过执行计划就可以看出来.(执行计划如下) insert overwrite tabl ...

  2. leetcode1003

    class Solution: def isValid(self, S: str) -> bool: n = len(S) if n % 3 != 0: return False while n ...

  3. springboot 多环境选择

    1.配置开发环境(开发环境) 2. application.yml  环境选择 3.cmd  切换环境 4. 设置环境调用方法 5. 另一方法

  4. as2 删除层级影片问题

    关键要将main的引用赋值,防止被误删,导致加载swf空白 /** * 删除所有对象 * @param standByRemoveMc 影片对象 * @param removeSelf 是否删除自身 ...

  5. Oracle 学习总结 - 问题诊断

    搜集常用诊断sql https://blog.csdn.net/yangshangwei/article/details/52449489 lock相关: 1. 查看lock, 打开两个事物,事物1更 ...

  6. C# 如何利用反射,将字符串转化为类名并调用类中方法

    首先,先随便创建一个测试类 <span style="font-family:Microsoft YaHei;font-size:18px;">public class ...

  7. vue:在router里面给页面加title

    vue中给组件页面加页面标题:{ path: '/', name: 'index', component: disconnect, meta: { title: '首页' } }, { path: ' ...

  8. 尚硅谷redis学习1-NOSQL简介

    本系列是自己学习尚硅谷redis视频的记录,防止遗忘,供以后用到时快速回忆起来,照抄视频和资料而已,没什么技术含量,仅给自己入门了解,我是对着视频看一遍再写的,视频地址如下:尚硅谷Redis视频 背景 ...

  9. C++复习:类和对象

    类和对象 基本概念 1)类.对象.成员变量.成员函数 2)面向对象三大概念 封装.继承.多态 3)编程实践     类的定义和对象的定义,对象的使用     求圆形的面积     定义Teacher类 ...

  10. unity admob

    插件地址:https://github.com/unity-plugins/Unity-Admob 2017.04.11测试使用发现GoogleMobileAds.framework有问题,导致出现U ...