1010 一元多项式求导 (25 point(s))
2021/9/5 23:11:21
本文主要是介绍1010 一元多项式求导 (25 point(s)),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
// 19 points #include <bits/stdc++.h> using namespace std; int main(){ int k1, e1, first = 0; while(scanf("%d %d", &k1, &e1) != EOF){ int k2 = k1 * e1, e2 = e1 - 1; if(e2 >= 0) cout << (first ? " " : "") << k2 << " " << e2; else if(k2 == 0 && e2 == 0) cout << (first ? " " : "") << 0 << " " << 0; first++; } }
// 25 points #include <bits/stdc++.h> using namespace std; int main() { int c, e, first = 0; cin >> c >> e; if(!c || !e) cout << 0 << " " << 0; else cout << c * e << " " << e - 1; while(cin >> c >> e) { if(e != 0) cout << " " << c * e << " " << e - 1; } }
当时想的果然是 0 相关的问题,但不知道代码应该怎么表达。果然还是考虑的角度不够具体。
当时尝试测试了 1 0 和 0 1 ,发现代码没有任何输出的时候就觉得这部分有问题了。然后尝试改指数和系数中判断是否为 0 的部分,但是改成 || 对了本来错的测试点,却又让样例过不了了,改成 && 过了样例,又卡了两个测试点得了 19 分。想不通遂放弃。
参考了别人的思路,又看了看样例和上面的 1 0 0 1 特别是样例 -2 0 部分,感觉有点明白差别在哪里了。可以看到当存在多个多项式的时候,指数为 0 的情况是不输出的。
而如果只有一个多项式,并且得到的结果可能为 0 的时候,比如上面的 c 0 ,或者hi 0 e 的时候,那么你结果就需要表示出来而不能不输出了。
结合别人说的,当指数为 0 的时候,跟前面的系数撑起来就变成 0 了,但是如果前面还有其他多项式时候的情况,这个 0 是否表达并不重要,就像我们平时写 x^2 + 2x + 1 不会还会在后面多写一个 0 。但是如果对 C 常数求导的话,不能说什么也不写,因为其结果就是 0 你还得把他表达出来。
所以我们可以看到这两个关键在于,一个多项式以及多个多项式时 0 的不同的表达的情况。
这篇关于1010 一元多项式求导 (25 point(s))的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-29设计Element UI表单组件居然如此简单!
- 2024-12-28一步到位:购买适合 SEO 的域名全攻略
- 2024-12-27OpenFeign服务间调用学习入门
- 2024-12-27OpenFeign服务间调用学习入门
- 2024-12-27OpenFeign学习入门:轻松掌握微服务通信
- 2024-12-27OpenFeign学习入门:轻松掌握微服务间的HTTP请求
- 2024-12-27JDK17新特性学习入门:简洁教程带你轻松上手
- 2024-12-27JMeter传递token学习入门教程
- 2024-12-27JMeter压测学习入门指南
- 2024-12-27JWT单点登录学习入门指南