PAT 乙级 1010 一元多项式求导(JAVA)

设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn-1。)
输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。

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

输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0
我的思路:这题要注意0多项式的存在,可以设置一个boolean变量来判断。

import java.util.*;
public class Main{
    public static void main(String []args){
        Scanner sc=new Scanner(System.in);
        boolean flag=false;//这个变量有两个用处,一是用来判断是否需要输出空格,二是用来判断是否输入是0多项式。
        while(sc.hasNextInt()){
            int a=sc.nextInt();
            int b=sc.nextInt();
            if(a*b!=0){
                if(flag)
                System.out.print(" ");
                System.out.printf("%d %d",a*b,b-1);
                flag=true;
            }
        }
        if(!flag)//之前一次输出都没有,说明输入的是0多项式
        System.out.print("0 0");
    }
}

如果您有更好更方便的方法,麻烦评论一下。我是菜鸟一个,希望得到进步。

猜你喜欢

转载自blog.csdn.net/qq_37774375/article/details/90080018
今日推荐