Polynomial_0
@【注】两个一元多项式按照指数由大到小的顺序输入!
#include <stdio.h> #define MAXSIZE 50 struct PolyNode
{
int coefficient;
int exponential;
}; int main()
{
PolyNode a[MAXSIZE];
PolyNode b[MAXSIZE];
PolyNode c[2*MAXSIZE];
int n1, n2;
scanf("%d", &n1);
int i;
for(i=0; i<n1; ++i)
scanf("%d %d", &a[i].coefficient, &a[i].exponential);
scanf("%d", &n2);
int j;
for(j=0; j<n2; ++j)
scanf("%d %d", &b[j].coefficient, &b[j].exponential);
int ind=0;
for(i=0, j=0; (i<n1)&&(j<n2); )
{
if(a[i].exponential>b[j].exponential)
{
c[ind].exponential=a[i].exponential;
c[ind].coefficient=a[i].coefficient;
++i;
}
else if(a[i].exponential<b[j].exponential)
{
c[ind].exponential=b[j].exponential;
c[ind].coefficient=b[j].coefficient;
++j;
}
else
{
c[ind].exponential=a[i].exponential;
c[ind].coefficient=a[i].coefficient+b[j].coefficient;
++i;
++j;
}
++ind;
}
while(i<n1)
{
c[ind].exponential=a[i].exponential;
c[ind].coefficient=a[i].coefficient;
++i;
++ind;
}
while(j<n2)
{
c[ind].exponential=b[j].exponential;
c[ind].coefficient=b[j].coefficient;
++j;
++ind;
}
printf("f(x)=");
for(i=0; i<ind; ++i)
{
if(c[i].coefficient>1)
{
if(i!=0)
printf("+");
printf("%dx^%d", c[i].coefficient, c[i].exponential);
}
else if(c[i].coefficient==1)
{
if(i!=0)
printf("+");
printf("x^%d", c[i].exponential);
}
else if(c[i].coefficient==0)
;
else if(c[i].coefficient==-1)
printf("-x^%d", c[i].exponential);
else
printf("%dx^%d", c[i].coefficient, c[i].exponential);
}
printf("\n");
return 0;
}
Polynomial_0的更多相关文章
随机推荐
- 如何把PDF文件拆分为多个文件
一个PDF文件有很多个PDF页面组成,有时候我们只需要单个页面的时候应该怎么做呢,这个时候就需要拆分PDF文件了,那么如何把 PDF文件拆分为多个文件呢,应该有很多的小伙伴都想知道吧,那就让我们一起来 ...
- hdu3709 数位dp
枚举fix所在的位置loc即可,然后数位dp即可 这题要注意一种特殊情况,就是所有位都是0的时候对于每个fix都是成立的 /* dp[i][j][k]表示前i位确定了平衡点在第j位,前i位和为k fi ...
- [转] Vue + Webpack 组件式开发(练习环境)
前言 研究了下别人的 vue 多页面框架, 都是直接复制 package.json 文件,然后在本地 npm install 一下即可, 或者使用官网 vue-cli 工具生成一个项目, 觉得这样虽然 ...
- matplotlib figure图像-【老鱼学matplotlib】
如果我们想要显示多个图像,有点类似多窗口显示图像这个概念,则就会用到plt.figure() 直接上例子: import numpy as np import pandas as pd import ...
- 你好!酷痞Coolpy 之 Linux篇
欢迎你进入酷痞的物联网世界.这里有着自由的空气和自然的气息.接下来我将告诉你如果一步步建立一个自己专属的物联网平台. 由于目前的酷痞的官方域名还没有通过备案所以现在用临时域名解说本说明. 最终酷痞的官 ...
- python输出
学习之前普及一个知识,在python2.X的版本中是不可以输入中文的,如果一定要输入中文就必须要在整段代码的最上面第一行备注一下:# _*_ coding:utf-8 _*_ print函数,这是一个 ...
- Tornado之异步authenticated
authenticated是tornado自带的登录验证装饰器,它的实现比较简单,验证比较简易,无法做到真正意义的前后端分离并且是同步的方式,所以这里我对它进行了重写,以适应异步JWT方式的登录验证. ...
- Java设计模式之建造者模式(生成器模式)
建造者模式: 也叫生成器模式.用来隐藏复合对象的创建过程,他把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象. 总结一句就是封装一个对象的构造过程,并允许按步骤构造 ...
- 网络编程-Python高级语法-property属性
知识点: 一.什么是property属性? 一种用起来像是使用的实例属性一样的特殊属性,可以对应于某个方法,Python的property属性的功能是:property属性内部进行一系列的逻辑计算,最 ...
- (二)文档请求不同源之window.postMessage跨域
一.基本原理 HTML5为了解决跨域,引入了跨文档通信API(Cross-document messaging).这个API为window对象新增了一个window.postMessage方法,允许跨 ...