C++一元多项式求导

这个题难度不大但是坑有点多,要考虑的点有几个:
1.测试用例为x 0 这个直接输出 0 0即可。
2.注意空格的输出
3.测试点3我好几次都没过,最后参考了别的答案加以修改才通过。

测试点3没过的代码:
1 #include <iostream>
2 #include <vector>
3
4 using namespace std;
5
6 struct Derivative
7 {
8 int ratios;//系数
9 int time;//次数
10 };
11
12 int main()
13 {
14 int ratios;
15 int time;
16
17 //接收输入
18 vector<Derivative> derivatives;
19 while(cin >> ratios >> time)
20 {
21 Derivative d;
22 d.ratios = ratios;
23 d.time = time;
24 derivatives.push_back(d);
25 char c = cin.get();
26 if(c == '\n')
27 break;
28 }
29
30 for(vector<Derivative>::iterator it = derivatives.begin();it != derivatives.end();++it)
31 {
32 if((*it).time != 0)
33 {
34 (*it).ratios *= (*it).time;
35 (*it).time--;
36 cout << (*it).ratios << " " << (*it).time;
37 if((*it).time != 0 && it != derivatives.end()-1)
38 cout << " ";
39 }
40 if(it == derivatives.begin() && (*it).time == 0)
41 {
42 cout << "0 0";
43 }
44 }
45 return 0;
46 }
只有在每组结束后输出空格的代码不同。
最终的代码:
1 #include <iostream>
2 #include <vector>
3
4 using namespace std;
5
6 struct Derivative
7 {
8 int ratios;//系数
9 int time;//次数
10 };
11
12 int main()
13 {
14 int ratios;
15 int time;
16
17 //接收输入
18 vector<Derivative> derivatives;
19 while(cin >> ratios >> time)
20 {
21 Derivative d;
22 d.ratios = ratios;
23 d.time = time;
24 derivatives.push_back(d);
25 char c = cin.get();
26 if(c == '\n')
27 break;
28 }
29
30 for(vector<Derivative>::iterator it = derivatives.begin();it != derivatives.end();++it)
31 {
32 //次数不为0时,就输出经过处理的系数和指数
33 if((*it).time != 0)
34 {
35 if(it != derivatives.end() && it != derivatives.begin())
36 cout << " ";
37 (*it).ratios *= (*it).time;
38 (*it).time--;
39 cout << (*it).ratios << " " << (*it).time;
40 }else if((*it).time == 0 && it == derivatives.begin())
41 {
42 //第一项的次数就为0时,直接输出0 0
43 cout << "0 0";
44 }
45 }
46
47
48 return 0;
49
50 }
C++一元多项式求导的更多相关文章
- PAT线性结构_一元多项式求导、按给定步长反转链表、出栈序列存在性判断
02-线性结构1. 一元多项式求导 (25) 设计函数求一元多项式的导数.(注:xn(n为整数)的一阶导数为n*xn-1.) 输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过100 ...
- PAT乙级 1010. 一元多项式求导 (25)
1010. 一元多项式求导 (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 设计函数求一元多项式的导数.(注:xn(n为整数)的一 ...
- PAT-乙级-1010. 一元多项式求导 (25)
1010. 一元多项式求导 (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 设计函数求一元多项式的导数.(注:xn(n为整数)的一 ...
- [C++]PAT乙级1010. 一元多项式求导 (25/25)
/* 1010. 一元多项式求导 (25) 设计函数求一元多项式的导数.(注:x^n(n为整数)的一阶导数为n*x^n-1.) 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1 ...
- PAT 乙级 1010 一元多项式求导 (25) C++版
1010. 一元多项式求导 (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 设计函数求一元多项式的导数.(注:xn(n为整数)的一 ...
- PAT 1010 一元多项式求导 (25)(STL-map+思路)
1010 一元多项式求导 (25)(25 分)提问 设计函数求一元多项式的导数.(注:x^n^(n为整数)的一阶导数为n*x^n-1^.) 输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均 ...
- 【PAT】1010. 一元多项式求导 (25)
1010. 一元多项式求导 (25) 设计函数求一元多项式的导数.(注:xn(n为整数)的一阶导数为n*xn-1.) 输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数 ...
- 【算法笔记】B1010 一元多项式求导
1010 一元多项式求导 (25 分) 设计函数求一元多项式的导数.(注:xn(n为整数)的一阶导数为nxn−1.) 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 ...
- pat02-线性结构2. 一元多项式求导 (25)
02-线性结构2. 一元多项式求导 (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 设计函数求一元多项式的导数.(注:xn(n为整 ...
- PAT——甲级1065:A+B and C(64bit) 乙级1010一元多项式求导
甲级1065 1065 A+B and C (64bit) (20 point(s)) Given three integers A, B and C in [−263,263], you ...
随机推荐
- ONVIF客户端中预置位设置代码实现过程
simpleOnvif的功能:提供支持Windows.Linux.arm.Android.iOS等各种平台的SDK库,方便集成,二次开发 之前跟大家分享了我们安徽思蔷信息科技的simpleOnvif的 ...
- webpack 之 一个简单的基本生产环境配置
webpack 之 一个简单的基本生产环境配置 // 用来拼接绝对路径的方法 const {resolve} = require('path') const HtmlWebpackPlugin = r ...
- 『学了就忘』Linux基础命令 — 39、挂载U盘和挂载NTFS分区
目录 1.在Linux系统中挂载U盘 (1)插入U盘 (2)查询U盘设备文件名 (3)挂载U盘 (4)U盘中的中文乱码 (5)U盘卸载 2.在Linux系统中挂载NTFS分区 (1)Linux的驱动加 ...
- mybatis插入数据时处理为null的属性
在做项目的时候,数据库中的所有字段被设置为全都不能为null,但是在我们开发过程中,插入一些记录的时候,实体类中的一些字段如果页面没有传入,则默认就会被设置为null,这样的话,在执行插入语句的时候, ...
- [年薪60W分水岭]基于Netty手写Apache Dubbo(带注册中心和注解)
阅读这篇文章之前,建议先阅读和这篇文章关联的内容. 1. 详细剖析分布式微服务架构下网络通信的底层实现原理(图解) 2. (年薪60W的技巧)工作了5年,你真的理解Netty以及为什么要用吗?(深度干 ...
- bat批处理命令及解释
相关原文链接 一.批处理概念 批处理文件:包含DOS命令的可编辑可执行文件 批处理:可以对某一对象批量操作的文件 二.批处理命令简介 命令1~10 1 echo 和 @ 回显命令 @ #关闭单行回显 ...
- JS和JQUERY常见函数封装方式
JS中常用的封装函数4种方法: 1. 函数封装法: function box(){ } 2. 封装成对象 : let Cookie = { get(){ }, set(){ } } 3. 封装成构造函 ...
- 动图图解!怎么让goroutine跑一半就退出?
光看标题,大家可能不太理解我说的是啥. 我们平时创建一个协程,跑一段逻辑,代码大概长这样. package main import ( "fmt" "time" ...
- [hdu7085]Pty loves SegmentTree
简单分析,不难得到以下转移--$$f_{n}=\begin{cases}1&(n=1)\\B\sum_{i=1}^{n-1}f_{i}f_{n-i}&(n\le k)\\B\sum_{ ...
- [hdu7035]Game
称区间$[i,j]$为普通区间,当且仅当$j-i\ge 3$且其操作两次内不会变为给定区间 结论:若$[i,j]$为普通区间,则$[i,j]$和$[i+1,j-1]$的状态( ...