多项式除法(Java实现)

首先多项式可以用数组来表示,数组下标表示x的次数,值表示对应项的系数
多项式相除的结果包括商和余数
我们假设被除数为A,除数为B,商为R,余数为L
若被除数的最高次数为m,除数的最高次数为n,那么商R的最高次数为m-n,且余数L的最高次数为n-1
下图是多项式相除的例子,得到的商为x+1,余数为x+2

余数每一项的系数是被除数的最高项和除数的最高项的商,但是注意每次得到余数的一项以后,需要更新被除数

import java.text.DecimalFormat;
import java.util.Arrays;public class DividePolynomial {public static void main(String[] args) {double []A={2.0,4.0,-3.0,6.0,-3.0};double []B={-1.0,1.0,-1.0};double []R=new double[3]; //最高次是2次。但是它应该是三项的double []L=new double[2];divide(A,4,B,2,R,2,L,1);DecimalFormat df=new DecimalFormat("0.0");for(int i=0;i<=2;i++){System.out.println("商多项式的系数R("+i+")="+df.format(R[i]));}for(int i=0;i<=1;i++){System.out.println("余多项式的系数R("+i+")="+df.format(L[i]));}}//涉及到除法,结果可能是小数,所以用double数组static void divide(double A[],int m,double B[],int n,double R[],int k,double L[],int l){//a表示被除数,m是被除数的最高次 b表示除数,n是除数的最高次//R和L分别表示商和余数,其中k=m-n,余数最高次l=n-1,比除数的次数少1//商的每一项系数都是被除数除以除数,但是要注意在这个过程中,被除数系数的更新Arrays.fill(R,0.0);int ll=m; //ll是用来遍历被除数的项数的int mm=0;for(int i=k;i>=0;i--){R[i]=A[ll]/B[n];  //商的每一项系数,都是除以除数的最高项得来的//然后更新被除数mm=ll-1; //从下一项开始影响,而非当前项for(int j=1;j<=n;j++){A[mm]-=R[i]*B[n-j];mm--;}ll--;}//最后更新后的被除数就是余数for (int i=0;i<=l;i++){L[i]=A[i];}}
}

得到的结果为:

另外注意构建被除数数组和除数数组时,从次数最低项的系数开始

多项式除法(Java实现)相关推荐

  1. 多项式除法Java实现

    ​​​​​​​ 单项式实体类 例如:在中,代表一个 PolynomialEntity 类对象 /*** 多项式中表示每一项的实体类* 例如:2x^2+1 中,2x^2代表一个 PolynomialEn ...

  2. java 代码实现除法_Java实现多项式除法的代码示例

    两个多项式相除,得到一个商多项式和余多项式. 这两个多项式项数分别为m和n,m>n,最高次数分别是m-1和-1.多项数相除,商多项式为R(x),余多项式为L(x);' 通过推算,可知商多项式的最 ...

  3. Java 多项式除法

    两个多项式相除,得到一个商多项式和余多项式. 例如:A(x) =am-1xm-1+ am-2xm-2+ am-3xm-3+...+a1x+a0: B(x) =bn-1xn-1+ bn-2xn-2+ b ...

  4. 【学习笔记】超简单的多项式除法(含完整证明)

    整理的算法模板合集: ACM模板 目录 多项式除法 P4512 [模板]多项式除法 tips 还没调出来的vector版本代码 点我看多项式全家桶(●^◡_◡◡​^●) 多项式除法 P4512 [模板 ...

  5. P4512 【模板】多项式除法

    题意:多项式除法,A(x)=C(x)*B(x)+D(x),给定A(x),B(x),求C(x),D(x) 题解:A(x)的度是n,B(x)的度是m 定义\(A'(x)=x^n*A(\frac{1}{x} ...

  6. deconv--反褶积和多项式除法

    [功能简介]求向量反褶积和进行多项式除法运算. [语法格式] [q,r]=deconv(v,u) 参数q和r分别返回多项式v除以多项式u的商多项式和余多项式. [实例3.33]求多项式(x2+2x+1 ...

  7. luogu P4512 多项式除法 (模板题、FFT、多项式求逆)

    luogu P4512 多项式除法 (模板题.FFT.多项式求逆) 手动博客搬家: 本文发表于20181206 14:42:53, 原地址https://blog.csdn.net/suncongbo ...

  8. 多项式除法,多项式取模

    多项式除法 给定一个nnn次多项式F(x)F(x)F(x)和mmm次多项式G(x)G(x)G(x),要求R(x),Q(x)R(x), Q(x)R(x),Q(x),满足F(x)=R(x)G(x)+Q(x ...

  9. 多项式算法7:多项式除法

    多项式算法7:多项式除法 多项式除法 前置知识: FFT NTT 多项式求逆 多项式除法 算法简述: 给定多项式FFF , GGG求出多项式RRR,QQQ使得F=G×Q+RF=G \times Q + ...

最新文章

  1. 我共享的资源,有四个上了首页的排行榜。
  2. python有多态特性吗_Python:多态、协议和鸭子类型
  3. Nginx 从入门到放弃(二)
  4. android app增加内存大小,android – 增加分配给应用程序的内存
  5. php缩图代码是什么,php生成缩略图示例代码分享(使用gd库实现)
  6. 给select设置默认值,在option在页面上已经写死的情况下
  7. 您没有权限来打开应用程序_苹果建议:除非应用程序无响应,否则不要滑动强制退出...
  8. 【数据结构与算法】之深入解析“零钱兑换II”的求解思路与算法示例
  9. 全方位了解超宽带信号高速采集记录回放系统
  10. pytorch torch.nn.TransformerEncoder
  11. 数字后端基础技能之:CTS(下篇)
  12. POJ 3080 - Blue Jeans
  13. 软件工程中逻辑覆盖的例题_干货丨一文读懂:飞算全自动软件工程平台如何提升软件开发效率...
  14. 彻底卸载VS2015
  15. qqkey获取原理_【逆向】QQkey盗号木马原理分析
  16. 支持html手机音乐代码,仿酷狗html5手机音乐播放器主要部分代码分享
  17. 基于php工程项目管理系统
  18. python 爬取12306验证码
  19. 计算机有线传播介质,有线传输介质有那些?
  20. stm32培训视频,欢迎大家入门学习。

热门文章

  1. Starry Night
  2. gitlab访问令牌使用_GitHub 创建个人访问令牌
  3. 梦想照亮前程--新东方执行总裁陈向东的故事
  4. Shell+VCS学习3---VCS命令
  5. 【读书笔记】Mysql优化的个人理解
  6. 车间生产排单系统构思
  7. 【机器学习百问】10.A/B测试中如何划分实验组和对照组
  8. 用友U8增加自定义权限功能
  9. redis实现抢红包功能
  10. 离散数学知识框架小结