B1010.一元多项式求导

12/25

#include<bits/stdc++.h>
using namespace std;

void solve(){
    int A,B,coef,exp;
    cin>>A>>B;
    if(B==1) cout<<A;
    else if(B==0) cout<<0;
    else{
        coef=A*B;exp=B-1;
        cout<<coef<<" "<<exp;
    }
    while(cin>>A>>B){
        //1.B==1,only print A
        //2.B==0,print 0
        //3.B!=1&&B!=0, print coef,exp :coef=A*B,exp=B-1;
        if(B==1) cout<<" "<<A;
        else if(B==0) cout<<" "<<0;
        else{
            coef=A*B;exp=B-1;
            cout<<" "<<coef<<" "<<exp;
        }
    }
}

int main(){
    solve();
    return 0;
}

经审查,是题目理解方面出现偏差。
比如,6x,在经过求导之后的coef,exp为6,0。应该全部输出。而-2这类常数项(如果常数项在首部,那就输出0 0,如果不在首部,那就什么也不输出。)
这类题重要的是挖掘题目的隐藏条件。
测试用例

3 4 -5 2 6 1 -2 0

输出样例

1 2 3 -10 1 6 0

测试用例

6 0

输出样例

0 0

测试用例

6 1 6 0

输出样例

6 0

改进后代码
25/25

#include<bits/stdc++.h>
using namespace std;

void solve(){
    int A,B,coef,exp;
    cin>>A>>B;
    if(B==1) cout<<A;
    else if(B==0) {cout<<0<<" "<<0;return;}
    else{
        coef=A*B;exp=B-1;
        cout<<coef<<" "<<exp;
    }
    while(cin>>A>>B){
        if(B!=0){
            coef=A*B;exp=B-1;
            cout<<" "<<coef<<" "<<exp;
        }
    }
}

int main(){
    solve();
    return 0;
}
posted @   MarkKobs  阅读(324)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示