• L2-018. 多项式A除以B*


    L2-018. 多项式A除以B

    参考博客

     1 #include <iostream>
     2 #include <map>
     3 #include <cmath>
     4 #include <cstdio>
     5 using namespace std;//系数要求保留一位小数,所以绝对值小于0.05都当成0对待
     6 struct poly
     7 {
     8     int e;
     9     double c;
    10 }p[10000],ans[10000];
    11 int main()
    12 {
    13     int n = 0,e = 0,c = 0,m = -1,ant = 0;//m记录a中最高次 e是指数 c是系数 输入都是整数
    14     map<int,double> q;
    15     cin>>n;
    16     for(int i = 0;i < n;i ++)
    17     {
    18         cin>>e>>c;
    19         q[e] = c;
    20         if(i == 0)m = e;
    21     }
    22     cin>>n;
    23     for(int i = 0;i < n;i ++)
    24     {
    25         cin>>p[i].e>>p[i].c;
    26     }
    27     while(m >= p[0].e)
    28     {
    29         double change = q[m]/p[0].c;//分析中所述的 a中最高次除以b中最高次 系数比
    30         int diff = m - p[0].e;//指数比
    31         if(fabs(change) >= 0.05)
    32         {
    33             ans[ant].e = diff;
    34             ans[ant ++].c = change;
    35             for(int i = 0;i < n;i ++)//change 乘以 b 更新a中的变化
    36             {
    37                 q[p[i].e + diff] -= change * p[i].c;
    38             }
    39         }
    40         else m --;//一定别忘了m--  不然会超时,太过于马虎  if else语句还是想清楚 写完备一些好光有if没else就容易错误啊。。
    41         while(m >= p[0].e && fabs(q[m]) < 0.05)
    42         {
    43             m --;
    44         }
    45     }
    46     cout<<ant;
    47     if(!ant)cout<<" 0 0.0";
    48     for(int i = 0;i < ant;i ++)
    49         printf(" %d %.1f",ans[i].e,ans[i].c);
    50     cout<<endl;
    51     ant = 0;
    52     while(m >= 0)
    53     {
    54         if(fabs(q[m]) >= 0.05)
    55         {
    56             ans[ant].e = m;
    57             ans[ant ++].c = q[m];
    58         }
    59         m --;
    60     }
    61     cout<<ant;
    62     if(!ant)cout<<" 0 0.0";
    63     for(int i = 0;i < ant;i ++)
    64         printf(" %d %.1f",ans[i].e,ans[i].c);
    65 }
  • 相关阅读:
    Hibernate事务代码规范写法
    关于hibernate插入数据时的乱码问题
    搭建hibernate环境(重点)
    接口测试概念以及用postman进行接口测试
    Atom编辑器之加快React开发的插件汇总
    如何搭建git服务器
    phpstorm 配置 xdebug调试工具
    linux 获取指定行范围文本内容
    odoo 创建一个qweb
    linux nohup 使用
  • 原文地址:https://www.cnblogs.com/Annetree/p/8680730.html
Copyright © 2020-2023  润新知