1010. 一元多项式求导
来源:互联网 发布:淘客基地源码 编辑:程序博客网 时间:2024/05/16 13:44
一、题目
设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为n*xn-1。)
输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。
输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是0,但是表示为“0 0”。
输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0
二、个人理解
此题题意不难理解,导数也是基本的数学知识。但是此题有几个坑:
- 系数在题意中定义了不为0,但指数可为0,此时为空串;但是当输出只有空时,则要输出为“0 0”。
当我用python的split()函数时,遇到极坑,估计是PAT官网的测试点输入有点问题。
split() 默认匹配空字符、空格和换行符; 但是如果我们指定sep,则不会匹配两端的空格;
Python版:
#!/usr/bin/env python# encoding: utf-8number=[int(i) for i in input().split()]count=0result=[]while(count<len(number)): a=number[count]*number[count+1] #判断指数是否为0 if (a!=0): result.append(a) result.append(number[count+1]-1) count+=2if(len(result)>1): for i in range(len(result)-1): print(result[i],end=' ') print(result[-1])else: #当输出为空串 print('0 0')
C++版:
#include <stdio.h>#include <string.h>int main(){ int n, e, flag = 0; //flag这里既解决了格式化输出,又解决了输出空串时的转换 while (scanf("%d%d", &n, &e) != EOF) { if( n*e ) { if(flag) printf(" "); else flag = 1; printf("%d %d", n*e, e-1); } } if(!flag) printf("0 0"); return 0;}
阅读全文
1 0
- 1010. 一元多项式求导
- 1010. 一元多项式求导
- 1010.一元多项式求导
- 1010. 一元多项式求导
- 1010. 一元多项式求导
- 1010. 一元多项式求导
- 1010. 一元多项式求导
- 1010. 一元多项式求导
- 1010. 一元多项式求导
- 1010.一元多项式求导
- 1010. 一元多项式求导
- 1010. 一元多项式求导
- 1010. 一元多项式求导
- 1010. 一元多项式求导 (25)
- 1010. 一元多项式求导 (25)
- PAT 1010. 一元多项式求导
- 1010. 一元多项式求导 (25)
- 1010. 一元多项式求导 (25)
- AngularJS中ng-include指令实现头部和尾部的共用
- 第一次面试
- Investments: 共同基金和其他投资公司
- 设计模式(十三)mediator
- 条形码、二维码的区别和组成结构介绍
- 1010. 一元多项式求导
- jdbc的增删改查
- 二维码解码器Zbar+VS2012开发环境配置
- nrf51822的ibeacon调试心得
- jquery实现返回顶部按钮和scroll滚动功能[带动画效果]
- 二叉树深度问题
- Opencv+Zbar二维码识别(标准条形码/二维码识别)
- JAVA-26.1-jQuery基础、派发事件、效果、选择器
- "你遇到过哪些高质量的C++面试?"