pta l2-18(多项式A除以B)
题目链接: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)的更多相关文章
- 多项式A除以B
这个问题我是在PAT大区赛题里遇见的.题目如下: 多项式A除以B(25 分) 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数 ...
- L2-018. 多项式A除以B*
L2-018. 多项式A除以B 参考博客 #include <iostream> #include <map> #include <cmath> #include ...
- 7-10 多项式A除以B (25分)(多项式除法)
7-10 多项式A除以B (25分) 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行,每行给出 ...
- (转载) 天梯赛 L2-018. 多项式A除以B
题目链接 题目描述 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行,每行给出一个非零多项式,先给出 ...
- 团体程序设计天梯赛 L2-018. 多项式A除以B(模拟)
题意:给你A,B两个多项式,问你A/B的值:注意多项式给你的是每个式子的指数与系数:保留到一位小数,如果出现系数为0(保留后也是)的情况,请不要输出它,如果没有非系数为0的情况就输出特殊 题解:多项式 ...
- L2-018 多项式A除以B(模拟)
这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行,每行给出一个非零多项式,先给出A,再给出B.每行的 ...
- 7-10 多项式A除以B (25 分)
题目链接:https://pintia.cn/problem-sets/1108548596745592832/problems/1108548661014913033 题目大意: 这仍然是一道关于A ...
- CCCC L2-018. 多项式A除以B 直接上map,然后stack处理输出
https://www.patest.cn/contests/gplt/L2-018 题意:模拟多项式除法. 题解:短除法,初中奥数老师,高中数学老师,高数老师都讲过2333. 模拟之前,关于保存 多 ...
- PAT L2-018. 多项式A除以B
暴力,模拟. 比赛搞了一个小时搞到了$1$分.赛场上不够冷静......之前没接触过多项式除法,但赛场上想到了除法的规则,莫名其妙写的时候不知道哪里崩了.对于这样的题目,应该先测一测数据的指数是不是很 ...
随机推荐
- PHP企业微信授权
1.添加应用菜单. 2.access_token /** * 获取token * @return [type] [description] */ public function getToken() ...
- Redis list 数据类型
lpush()先进后出 //从头部加入元素 //栈 lrange 元素集合 0 -1 lpop 从list头部删除元素,并返回删除元素 rpush()先进先出 //从尾部加 ...
- Xshell 用鼠标选中一段文字后自动换行
现象: 使用Xshell连接远程服务器,一般选中都是鼠标选中,然后按快捷键 Ctrl+Insert复制,Shift+Insert粘贴. 可是当选中后松开鼠标,这时候仿佛在xshell里自动输了一个回车 ...
- WMI Provider Host
WMI 即 Windows Management Instrumentation(Windows 管理规范)的简写,是 Windows 操作系统的一项内置功能,它为软件和管理脚本提供了一种标准化方法, ...
- suse 奇怪的crash 问题
最近遇到一个suse的crash 问题: 我没有使用 mkswap /dev/磁盘路径 来制作swap分区,我有很多剩余内存,我设置nr_swapfiles为0,可是我还是遇到了关于swap的cras ...
- 在系统中使用Bean Validation验证参数
转自:http://www.importnew.com/18561.html 为什么要使用Bean Validation? 当我们实现某个接口时,都需要对入参数进行校验.例如下面的代码 1 2 3 ...
- 侧边栏收起展开效果,onmouseover,onmouseout
//方法一<!doctype html> <html lang="en"> <head> <meta charset="UTF- ...
- ArcGIS 栅格数据教程
ArcGIS 栅格数据教程 全部8个教程,带详细操作步骤和原始数据. 技术咨询:谢老师,135_4855_4328,xiexiaokui#139.com ArcGIS 10.5 此教程中的练习将使用样 ...
- HDFS中的集中缓存管理详解
一.背景 Hadoop设计之初借鉴GFS/MapReduce的思想:移动计算的成本远小于移动数据的成本.所以调度通常会尽可能将计算移动到拥有数据的节点上,在作业执行过程中,从HDFS角度看,计算和数据 ...
- rename批量修改文件并在后缀前加字段
rename 's/\.jpg$/generate_badu\.jpg/' * 其中,'.'需要加转义斜杠'\', '*'代表文件夹下所有文件