首页 > 其他分享 >一元多项式的求导(附加代码模式)

一元多项式的求导(附加代码模式)

时间:2025-01-15 20:58:57浏览次数:3  
标签:一元 输出 int 多项式 List list 求导 include

题目描述

一个一元多项式可以看作由若干个一元单项式按降幂排列成的线性表。请编写程序对输入的一元多项式进行求导,并输出求导的结果。
本题是附加代码模式,主函数main会自动附加在同学们提交的代码后面,请同学们在提交的时候注释掉附加代码。
附加代码如下:

int main(){

    // freopen("/config/workspace/answer/DataStructure/test.in","r",stdin);    

    List list = InputList();

    List newlist = getDerivation(list);

    PrintList(newlist);

    return 0;

}


 

输入

输入为一个一元多项式,按照降幂依次输入每个单项式的系数和指数,并以-1 -1作为结束。系数和指数均为整数,指数不小于0。

输出

输出为求导结果多项式,按照降幂依次输出每个单项的系数和指数,每个数值后面用一个空格隔开,输出结果多项式后换行。 系数为0的单项式不得输出——除非结果多项式就是0,则直接输出0并换行。

样例输入
2 7 3 5 12 1 6 0 -1 -1
样例输出
14 6 15 4 12 0 

提示

数据范围:每个多项式的数据项数量不超过10000
代码框架如下,请完成相关函数的代码实现

#include <iostream>

#include <cstdio>

#include <cstring>

using namespace std;

struct  Node{

    int r;  // 系数

    int e;  // 指数

};

// 线性表存储一元多项式

struct List{

    Node data[10000+5];

    int len;

};



// 输出多项式

void PrintList(const List& list){



}



// 输入多项式

List InputList(){

}



// 多项式求导

List getDerivation(const List& list){

}



int main(){

    // freopen("/config/workspace/answer/DataStructure/test.in","r",stdin);    

    List list = InputList();

    List newlist = getDerivation(list);

    PrintList(newlist);

    return 0;

}

 解:

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
struct  Node{
    int r;  // 系数
    int e;  // 指数
};
// 线性表存储一元多项式
struct List{
    Node data[10000+5];
    int len;
};

// 输出多项式
void PrintList(const List& list){
	int i;
	for(i=0;i<list.len;i++){
	
		if(list.data[i].e!=-1){
			printf("%d %d ",list.data[i].r,list.data[i].e);
		}//0指数项不输出
	}
}

// 输入多项式
List InputList(){
	List s;
	int i=0,j,k;
	while(scanf("%d %d",&s.data[i].r,&s.data[i].e)){//持续输入
		
		if(s.data[i].r==-1&&s.data[i].e==-1){//跳出循环
			s.len=i;
			break;
		}
		i++;
	}
	return s;
}

// 多项式求导
List getDerivation(const List& list){
	List s;
	int i;
	for(i=0;i<s.len;i++){
		s.data[i].r=list.data[i].r*list.data[i].e;
		s.data[i].e=list.data[i].e-1;
	}
	s.len=list.len;
	return s;
}

int main(){
    // freopen("/config/workspace/answer/DataStructure/test.in","r",stdin);    
    List list = InputList();
    List newlist = getDerivation(list);
    PrintList(newlist);
    return 0;
}

 

标签:一元,输出,int,多项式,List,list,求导,include
From: https://blog.csdn.net/2301_77185332/article/details/145166476

相关文章

  • 车道偏离预警(LDW)、车道保持辅助(LKA)、车道线检测-OpenCV、Python-滑动窗口、透视变
    车道偏离预警、车道保持辅助及车道线检测系统引言一、代码和文件1.项目文件说明2.项目的依赖包和环境3.运行代码二、整体代码逻辑1.相机校准2.车道检测/跟踪3.车道状态分析4.车道映射三、相机校准1.计算摄像机矩阵和失真系数四、图像和视频的处理步骤1.进行......
  • 群论基础与Pólya定理与基础多项式
    pdf记录一下比较厉害的数学科技。群若\(G\)为集合,且在\(G\)上有二元运算\(\cdot\),且满足如下性质,则称\(\left(G,\cdot\right)\)为一个群:结合律:对于\(\forall(a,b,c)\inG^3\),有\(abc=a(bc)\)单位元:有唯一的\(e\inG\),满足\(\foralla\inG,ae=ea=a\)逆元......
  • 基于弦截法求解多项式函数根的 C++ 程序及其多领域延伸应用
    一、头文件部分#include<iostream>#include<cmath>#include<vector>#include<algorithm>#include<opencv2\opencv.hpp>#include<Eigen/Dense>#include<iostream>#include<complex>#include<unsupported/Eigen/Pol......
  • [THUWC2017] 在美妙的数学王国中畅游 题解(内附求导小技巧)
    事实证明物竞笔记是个好东西,可惜没带,不然还能谎称自己会一点求导和微积分。顺便在这里把比较经典的一些关于求导的东西记录一下:常用函数求导:\(C'=0,(x^n)'=nx^{n-1},(\log_ax)'=\frac1{x\lna}\)\((\lnx)'=\frac1x,(a^x)'=a^x\lna,(e^x)'=e^x\)\((\sinx)'=\cosx=\sin(......
  • [THUWC2017] 在美妙的数学王国中畅游 题解(内附求导小技巧)
    事实证明物竞笔记是个好东西,可惜没带,不然还能谎称自己会一点求导和微积分。顺便在这里把比较经典的一些关于求导的东西记录一下:常用函数求导:\(C'=0,(x^n)'=nx^{n-1},(\log_ax)'=\frac1{x\lna}\)\((\lnx)'=\frac1x,(a^x)'=a^x\lna,(e^x)'=e^x\)\((\sinx)'=\cosx=\sin(......
  • 多项式全家桶
    不知道什么时候写封装,有空就写。FWT:link。FWT同时带给我们一个深切的见解:一切多项式算法都是把多项式卷积转化成可以点积,再逆回去。FFTFFT处理实数意义下的多项式\((+,\times)\)卷积。也就是多项式乘法。点值表示法和系数表示法不必赘述了。对于两个以系数表示法表示的......
  • 链表实现多项式的相加相减以及修改指定指数系数
    #include<iostream>usingnamespacestd;//定义多项式节点结构typedefstructPolyNode{intcoaf;//系数intexpn;//指数structPolyNode*next;//指向下一个节点的指针}PolyNode,*Poly;//创建多项式节点PolycreateNode(intcoaf,inte......
  • 模板多项式 exp
    ABC387G求\(n\)个点,每个回路长度都是质数的有标号无向连通图个数。首先回路之间肯定点不相交,否则若长度为\(a,b\)的两个点相交回路有\(k\)条公共边,则形成一个长度为\(a+b-2k\)的回路,而\(a+b-2k\)肯定是偶数且不是\(2\),它肯定不是质数。所以把回路缩起来之后,合法的......
  • 6-2 多项式求值
    6-2多项式求值......
  • XDOJ 730 一元稀疏多项式的简单计算器 (Copilot 辅助代码)
    标题 一元稀疏多项式计算器时间限制2S内存限制10000 Kb问题描述设计一个一元稀疏多项式的简单计算器,要求能进行加减运算。问题输入每组数据有3行构成,第1行为3个正整数n,m,t,n表示第一个多项式的项数,m表示第二个多项式的项数,t表示运算类型,0为加法,1为减法,每组数据......