【PAT】(乙级)1010. 一元多项式求导 (25)
来源:互联网 发布:网络摄像机价格 编辑:程序博客网 时间:2024/06/06 00:49
1010. 一元多项式求导 (25)
- 时间限制 400 ms
- 内存限制 65536 kB
- 代码长度限制 8000 B
- 判题程序 Standard
一、题目
设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为n*xn-1。)
输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。
输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是0,但是表示为“0 0”。
输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0
二、Tips
Tips: 想着用cin.nextLine().split(" ")
一次性输入。找了很久的错误,发现测试数据有坑,每个数字之间并不都是一个空格。后来加上.replaceAll(" {2,}"," ").trim()
就正确了。
三、代码
import java.util.ArrayList;import java.util.Arrays;import java.util.Scanner;/** * 1010. 一元多项式求导 (25) * https://www.patest.cn/contests/pat-b-practise/1010 * Created by Relish on 2016/8/6. */public class _1010 { static Item[] f(String s) { String[] str = s.split(" "); int[] ints = new int[str.length]; for (int i = 0; i < str.length; i++) { ints[i] = Integer.parseInt(str[i]); } Item[] items = new Item[ints.length / 2]; for (int i = 0; i < ints.length; i += 2) { items[i / 2] = new Item(ints[i], ints[i + 1]); } return items; } public static void main(String[] args) { Scanner cin = new Scanner(System.in); //.replaceAll(" {2,}"," ").trim() 不加这个就错了,这测试数据真是坑! Item[] s = f(cin.nextLine().replaceAll(" {2,}", " ").trim()); Item[] r = new Item[s.length]; for (int i = 0; i < s.length; i++) { r[i] = new Item(s[i].a * s[i].n, s[i].n == 0 ? 0 : s[i].n - 1); } if (r.length == 1) { System.out.println(r[0].a + " " + r[0].n); } else { ArrayList<Item> list = new ArrayList<Item>(); for (int i = 0; i < r.length; i++) { if (r[i].isEmpty()) { continue; } list.add(r[i]); } System.out.println(Arrays.toString(list.toArray()).replaceAll("\\[|\\]|,", "")); } } private static class Item { int a; int n; Item(int a, int n) { this.a = a; this.n = n; } @Override public String toString() { return a + " " + n; } boolean isEmpty() { return a == 0 && n == 0; } }}
0 0
- PAT-乙级-1010. 一元多项式求导 (25)
- PAT乙级.1010. 一元多项式求导 (25)
- PAT乙级1010. 一元多项式求导 (25)
- 1010. 一元多项式求导 (25)-PAT乙级
- PAT乙级 1010. 一元多项式求导 (25)
- PAT乙级1010. 一元多项式求导 (25)
- PAT乙级 1010. 一元多项式求导 (25)
- [PAT乙级]1010. 一元多项式求导 (25)
- pat 乙级 1010. 一元多项式求导 (25)
- 1010. 一元多项式求导 (25)--PAT乙级
- PAT乙级1010. 一元多项式求导 (25)
- PAT乙级1010. 一元多项式求导(25)
- PAT(乙级)1010. 一元多项式求导
- 【PAT】(乙级)1010. 一元多项式求导 (25)
- PAT乙级 1010. 一元多项式求导
- PAT 乙级 1010.一元多项式求导
- PAT乙级:1010. 一元多项式求导 (Java)
- PAT乙级 1010. 一元多项式求导
- Ubuntu LINUX安装 apache-ofbiz-13.07.03
- Python爬虫系列博客
- Hibernate Tools 从DB2数据库中逆向工程生成实体类的问题
- OmniMarkupPreviewer的实时预览无法使用问题的解决
- JS引入命名空间(并使用字符串拼接和拖拽)
- 【PAT】(乙级)1010. 一元多项式求导 (25)
- Cts框架解析-任务执行过程
- ONOS 集群选举分析
- LaTeX技巧017:定义使用多种代码样式
- 实习杂记(30):虚拟机类的加载机制(1)
- AJAX开发
- (31)日期解析函数-日期时间转换时间戳 (32)字符串定义方式 (33)单双引号区别
- leetcode---Group Anagrams---哈希
- 2024 C语言合法标识符