PAT-B 1010. 一元多项式求导
2016-04-27 21:44
295 查看
题目内容:
设计函数求一元多项式的导数。(注:xnx^n(n为整数)的一阶导数为n⋅xn−1n·x^{n-1}。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。
输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是0,但是表示为“0 0”。
输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0
思路分析:
以数组下标作为指数,数组元素作为系数,存储“系数-指数”对。读取完成后,低->高 处理数据,规则按照(xn)(x^n) -> (n⋅xn−1)(n·x^{n-1})。
高->低 输出,如果遍历数组之后没有任何输出,则说明是“零多项式”,输出“0 0”
代码:
#include <stdio.h> int main() { int i, a, b, flag = 0, co_ex[1001] = {0}; while (scanf("%d %d", &a, &b) == 2) // 按“系数-指数”对读入数据 co_ex[b] = a; for (i = 1, co_ex[0] = 0; i < 1001; i++) co_ex[i-1] = co_ex[i] * i; // 求导 for (int i = 999; i >=0; i--) if (co_ex[i] != 0) { if (!flag++) // 通过flag标记输出项个数 printf("%d %d", co_ex[i], i); else printf(" %d %d", co_ex[i], i); } if (flag == 0) printf("0 0"); // 没有任何输出,则说明是“零多项式”,输出“0 0” return 0; }
点这里进入试题网页
相关文章推荐
- C游戏 简单迷宫游戏开发
- golang + Atom 编程环境搭建
- 广度 / 深度优先搜索
- 将JavaScript 插入网页的方法
- [C#反射]C#中的反射解析及使用.
- 如何使用grep 等命令快速的在日志中找到自己需要的内容
- HDU 2112
- java工程读取.properties配置文件
- Fragment知识总结
- JSP注释 声明 输出表达式 脚本
- 多区域OSPF动态路由配置(拓扑图)
- 团队项目作业四 - WBS
- I/O Completions port
- [置顶] 嵌入式系统开发常用网址
- BZOJ 4562|HAOI 2016|食物链|动态规划
- bzoj 3823: 定情信物
- STL浅析
- poj2762 Going from u to v or from v to u? 强连通分量 + 拓扑排序
- 每日Scrum(9)
- BZOJ2301: [HAOI2011]Problem b 莫比乌斯反演