用java语言生成两个java链表实现多项式式pa和pb,求pa和pb之和,输出“和java链表实现多项式式”

多项式输出-Java - CSDN博客
多项式输出-Java
求两个多项式乘积的问题相信大家在中学时经常碰到,它是这样的一个问题:pa=an*x^n + an-1*x^(n-1) + … + a1*x + a0pa=bm*x^m + bn-1*x^(m-1) + … + b1*x + b0
其中,an, an-1, …,a0, bm, bm-1, … ,b0 都是整数,范围[-10000, 10000]。0&=n, m &=1000。
pa*pb的结果也是一个多项式,请你编程来解决这个问题,你需要设计如何表示一个多项式并写出两个多项式相乘的程序。
其中pA和pB的格式都是“(-3,5),(87,4),(93,3),(3,0)”,表示一个多项式:-3*x^5 + 87*x^4 + 93*x^3 + 3
输入都是合法的,除了数字,左右括号和逗号没有别的任何字符,并且幂次都是从高到低排列的,输出也要求是这样一个标准的格式。
参考代码:
package XiaoMi;
import java.util.S
public class test3 {
* @param args
public static void main(String[] args) {
// TODO Auto-generated method stub
//获取输入
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
// System.out.println(str);
String s[] =str.split(&,&);
//System.out.println(s.length);
//数字剥离
for(int i=0; i&s. i++){
if(s[i].charAt(0)=='(')
s[i]=s[i].substring(1, s[i].length());
s[i]=s[i].substring(0, s[i].length()-1);
//将字符数组转为int数组
int n[] =new int[s.length];
for (int i = 0; i & s. i++) {
n[i] = Integer.parseInt(s[i]); //很有用
/*//循环输出
for(int x:n){
System.out.println(x);
//格式打印输出
String result=&&;
for(int i=0; i&(n.length)/2; i++){
if(n[2*i]==0)
result =result+&&;
}else if(n[2*i+1]==0){
result =result + n[2*i] + &+&;
result =result + n[2*i] + &*x^& + n[2*i+1] + &+&;
System.out.println(result.substring(0, result.length()-1));
//去除最后一个加号
运行结果:
(-7,5),(8,0)
本文已收录于以下专栏:
相关文章推荐
Java数据结构复习之多项式加法和乘法实现
数组实现package com.genge.jichu./**
* 用数组表示的多项式,以及相关实现
* Creat...
最近的一个实验作业,要求用Java实现多项式的计算,书上的方法是将中序表达式先转化为后序表达式,然后进行运算。想到上学期实现真值表的时候用到的双栈方法,就尝试用双栈实现了一下,感觉要更好一些。最主要的...
一元 n 次多项式可用如下的表达式表示:
其中,aixi称为 i 次项,ai 称为 i 次项的系数。给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式:
1.多项式中...
一元 n 次多项式可用如下的表达式表示:
其中,aixi称为 i 次项,ai 称为 i 次项的系数。给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式:
1 多项式乘积的运算说明做个有追求的成程序猿,哈哈。。其实是自己水平太菜啦,所以要想好好学学数据结构(网易云课堂上的数据结构课程。。。不是广告哦),就是这动手写写。
输入要求: * 计算两个多项式的...
使用Java语言和数组实现一元多项式的乘法与加法运算,其中主要内容包括,程序框架,函数分析和原代码。
输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。
输出格式: 输出分2行,分别以指数...
题目:设计函数分别求两个一元多项式的乘积与和。
                输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降...
他的最新文章
讲师:王禹华
讲师:宋宝华
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)求两个多项式相加运算
#include&iostream&
#include&malloc.h&
#define MAX 20
//多项式最多项数
typedef struct
//定义存放多项式的数组类型
}PolyArray[MAX];
typedef struct pNode
//定义单链表结点类型
struct pNode *
void DispPoly(PolyNode * L)
//输出多项式
PolyNode *p=L-&
while(p!=NULL)
printf(&%gX^%d&,p-&coef,p-&exp);
printf(&\n&);
void CreateListR(PolyNode * &L,PolyArray a,int n)
//尾插法建表
PolyNode *s,*r;
L=(PolyNode *)malloc(sizeof(PolyNode));
//创建头结点
L-&next=NULL;
//r始终指向终端结点,开始时指向头结点
for(i=0;i&n;i++)
s=(PolyNode *)malloc(sizeof(PolyNode));
//创建新结点
s-&coef=a[i].
s-&exp=a[i].
r-&next=s;
//将*s插入*r后
r-&next=NULL;
//终端结点next域置为NULL
void Sort(PolyNode * &head)
//按exp域递减排序
PolyNode *p=head-&next,*q,*r;
if(p!=NULL)
//若原单链表中有一个或多个数据结点
//r保存*p结点的后继结点的指针
p-&next=NULL;
//构造只含一个数据结点的有序表
while(p!=NULL)
//r保存*p结点的后继结点的指针
while(q-&next!=NULL&&q-&next-&exp&p-&exp)
//在有序表中找插入*p的前驱结点*q
p-&next=q-&
//将*p插入到*q之后
q-&next=p;
void Add(PolyNode *ha,PolyNode *hb,PolyNode *&hc)
//求两个有序集合的并
PolyNode *pa=ha-&next,*pb=hb-&next,*s,*
hc=(PolyNode *)malloc(sizeof(PolyNode));
//创建头结点
while(pa!=NULL&&pb!=NULL)
if(pa-&exp &pb-&exp)
s=(PolyNode *)malloc(sizeof(PolyNode));
//复制结点
s-&exp=pa-&
s-&coef=pa-&
tc-&next=s;
else if(pa-&exp &pb-&exp)
s=(PolyNode *)malloc(sizeof(PolyNode));
//复制结点
s-&exp=pb-&
s-&coef=pb-&
tc-&next=s;
//pa-&exp==pb-&exp
c=pa-&coef+pb-&
//系数之和不为0时创建新结点
s=(PolyNode *)malloc(sizeof(PolyNode));
s-&exp=pa-&
s-&coef=c;
tc-&next=s;
if(pb!=NULL)
//复制余下的结点
while(pa!=NULL)
s=(PolyNode *)malloc(sizeof(PolyNode));
s-&exp=pa-&
s-&coef=pa-&
tc-&next=s;
tc-&next=NULL;
void main()
PolyNode *ha,*hb,*
PolyArray a={{1.2,0},{2.5,1},{3.2,3},{-2.5,5}};
PolyArray b={{-1.2,0},{2.5,1},{3.2,3},{2.5,5},{5.4,10}};
CreateListR(ha,a,4);
CreateListR(hb,b,5);
printf(&原多项式A:&);
DispPoly(ha);
printf(&原多项式B:&);
DispPoly(hb);
printf(&排序后多项式A:&);
DispPoly(ha);
printf(&排序后多项式B:&);
DispPoly(hb);
Add(ha,hb,hc);
printf(&多项式相加:&);
DispPoly(hc);多项式的创建_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
多项式的创建
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 多项式曲线拟合 java 的文章

 

随机推荐