永发信息网

多项式算法

答案:1  悬赏:0  手机版
解决时间 2021-01-23 08:53
多项式算法
最佳答案
问题一:什么叫多项式时间算法 10分定义:若存在一个常数C,使得对于所有n>=0,都有|f(n)| 问题二:多项式计算 C语言编程 这个其实很简单,需要3个数组(暂时考虑int数组),长度都是10,分别保存多项式1、2和计算结果。初始化为全0。输入就按照你的假设吧。输入后三个数组分别为:
多项式1:[7, 0, -5, 2, 0, 0, 0, 0, 0, 0](x的0次幂系数是7,x的1次幂系数是2,以此类推,下同)
多项式2:[-8, 1, 3, 0, 0, 0, 0, 0, 0, 0]
计算结果:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0](还没算呢,当然都是0)
加法减法很好算,不赘述。乘法怎么算呢,你按照真实的数学计算步骤推一遍就知道了,你会把3x2、x、-8分别乘以2x3-5x2+7,最后把结果加起来。转换到程序中,就是把若干个数组加起来:
[-56, 0, 40, -16, 0, 0, 0, 0, 0, 0]
[0, 7, 0, -5, 2, 0, 0, 0, 0, 0]
[0, 0, 21, 0, -15, 6, 0, 0, 0, 0]
加起来就可以了。
至于提高水平,这个题目出得不好,因为多项式相除结果不唯一。比如说2x2 + 1除以x2 + 1,你可以说2x2 + 1 = 2(x2 + 1) - 1,也可以说2x2 + 1 = 1(x2 + 1) + x2。这样的题目数学上就意义不大,用程序去实现也达不到锻炼水平的作用。也许我理解有误?问题三:给定两个多项式,实现两个多项式相加算法。用c语言编程 输入data2的时候,鼎看你for里面是j,scanf里面是i,读不进去
for(j=0;j 问题四:计算多项式的值,要完整的过程 等等我问题五:关于数据结构(C语言)多项式计算 我刚做好的课程设计,得了个A+,免费给你了,包你满意,几乎没有漏洞! //头文件 #include #include #include //定义多项式的项 typedef struct Polynomial{ float coef; int expn; struct Polynomial *next; }*Polyn,Polynomial; void Insert(Polyn p,Polyn h){ if(p->coef==0) free(p);//系数为0的话释放结点 else { Polyn q1,q2; q1=h; q2=h->next; while(q2&&p->expnexpn) {//查找插入位置 q1=q2; q2=q2->next; } if(q2&&p->expn==q2->expn) {//将指数相同相合并 q2->coef+=p->coef; free(p); if(!q2->coef) {//系数为0的话释放结点 q1->next=q2->next; free(q2); } } else {//指数为新时将结点插入 p->next=q2; q1->next=p; } } } Polyn CreatePolyn(Polyn head,int m){ //建立一个头指针为head、项数为m的一元多项式 int i; Polyn p; p=head=(Polyn)malloc(sizeof(struct Polynomial)); head->next=NULL; for(i=0;icoef,&p->expn); Insert(p,head); //调用Insert函数插入结点 } return head; } void DestroyPolyn(Polyn p){ //销毁多项式p Polyn q1,q2; q1=p->next; q2=q1->next; while(q1->next) { free(q1); q1=q2; q2=q2->next; } } void PrintPolyn(Polyn P){ Polyn q=P->next; int flag=1;//项数计数器 if(!q) { //若多项式为空,输出0 putchar('0'); printf(\n); return; } while(q) { if(q->coef>0&&flag!=1) putchar('+'); //系数大于0且不是第一项 if(q->coef!=1&&q->coef!=-1) {//系数非1或-1......余下全文>>问题六:多项式如何计算 40分多项式运算法则:有括号先去括号,然后合并同类项。问题七:C++ 计算多项式 在while(cin>>n>>x)这个主循环中,每运行一次sum就得清一次零……
试试这个
#include #include using namespace std;int main(void){ int a[9],n,i,j; double x,sum=0,sum1=1; while(cin>>n>>x) { for(i=n;i>=0;i--) cin>>a[i]; n=n+1; while(n--) { sum=0;//清零sum for(j=1;j
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
sogo音乐餐吧地址好找么,我有些事要过去
摩托车怎样改装速度快声音小
恒润伟业地址好找么,我有些事要过去
鸿景汽车地址在哪,我要去那里办事
请问海信电视蓝屏了 但有声音
单选题下列对水沸腾时的现象以及理解正确的是
江淮汽车惠安螺诚特约服务站怎么去啊,我要去
新大洲本田(建设南街店)地址在什么地方,我要
住宅小区物业费怎么算
旭腾汽车服务地址好找么,我有些事要过去
上汽依维柯红岩齐鑫汽车销售中心地址好找么,
江雪家具城地址在什么地方,想过去办事
达盈二手车地址有知道的么?有点事想过去
旺隆家具城地址有知道的么?有点事想过去
福星汽车地址好找么,我有些事要过去
推荐资讯
冰河时代Pub怎么去啊,我要去那办事
前刘家村怎么去啊,我要去那办事
地州派出所地址在哪,我要去那里办事
天赐良缘婚庆酒店地址在哪,我要去那里办事
单选题________totheeffortsbytheheadmaste
单选题新快报讯据英国《每日邮报》报道2009年
PAT纯K量贩式KTV地址有知道的么?有点事想过
金湘理发厅地址在哪,我要去那里办事
加拿大签证中心下发体检表后该怎么做
四川省养蜜蜂怎么样
王家楼村在什么地方啊,我要过去处理事情
嘉友照相复印地址在哪,我要去那里办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?