首页 > 其他 > 详细

PTA1010一元多项式求导

时间:2019-08-19 11:35:45      阅读:95      评论:0      收藏:0      [点我收藏+]

设计函数求一元多项式的导数。?n??(n为整数)的一阶导数为nx?n1??。)

输入格式:

以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔

输出格式:

以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0

输入样例:

3 4 -5 2 6 1 -2 0

输出样例:

12 3 -10 1 6 0


刚看到这道题的时候,我很天真的写了split(" "),结果总有两测试点不通过。
题目中有3个
1.末尾不能有多余空格
2.分隔数字的空格可能不止一个
3.如果多项式为0多项式,输出0 0

code:
import java.util.Scanner;

public class Main{//success
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		boolean flag = true;//这个flag用来判断是否为0多项式且还能判断是否for循环一次。
		String s = in.nextLine();//用nextLine()方法输入下一行内容存储为字符串
		in.close();//要记得关闭输入流对象in
		String[] s1 = s.split("\\s+");//正则表达式"\\s+"
		for(int i = 0 ; i <= s1.length - 2 ; i += 2) {
			if(Integer.parseInt(s1[i + 1]) * Integer.parseInt(s1[i]) != 0) {
				if(!flag) {
					System.out.print(" ");
				}
				System.out.print(Integer.parseInt(s1[i]) * Integer.parseInt(s1[i + 1]) + " " +  (Integer.parseInt(s1[i + 1]) - 1));
				flag = false;
			}
		}
		
		if(flag) {
			System.out.print("0 0");
		}
		
	}
}

 

需要注意的:

//split("\\s+");以一个或多个空格分隔

PTA1010一元多项式求导

原文:https://www.cnblogs.com/mirable/p/11375423.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!