首页 > 编程语言 >PAT-basic-1010 一元多项式求导 java

PAT-basic-1010 一元多项式求导 java

时间:2023-02-18 13:00:09浏览次数:28  
标签:java int 多项式 System coe str basic PAT newExp

一、题目


设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。)

输入格式:

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

输出格式:

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

输入样例:

3 4 -5 2 6 1 -2 0

输出样例:

12 3 -10 1 6 0

二、解析


用一个数组来存储即可,数组下标用来表示指数,值用来表示系数。遇到系数为0的不输出。需要注意0 0的情况,只需要在最开始判断一下就行了,如果最高指数为0,则说明表达式是常数。

三、代码


import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String str[] = input.nextLine().split("\\s+");
        if(str.length==0) return;
        int maxExp = Integer.parseInt(str[1]);
        if(maxExp == 0) {
            System.out.println("0 0");
            return;
        }
        int coe[] = new int[maxExp];

        for(int i=0; i< str.length; i+=2){
            int newCoe = Integer.parseInt(str[i]);
            int newExp = Integer.parseInt(str[i+1]);
            if(newExp > 0)
                coe[newExp-1] += newCoe * newExp;
        }
        for(int i=coe.length-1; i>=0; i--){
            if(coe[i]!=0){
                if(i==coe.length-1)
                    System.out.printf("%d %d", coe[i], i);
                else
                    System.out.printf(" %d %d", coe[i], i);
            }
        }
    }
}

 

标签:java,int,多项式,System,coe,str,basic,PAT,newExp
From: https://www.cnblogs.com/langweixianszu/p/17132369.html

相关文章

  • PAT-basic-1008 数组元素循环右移问题 java
    一、题目一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最后M个数......
  • PAT-basic-1009 说反话 java
    一、题目给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干......
  • java便捷的word导出工具(officejj)
    写在最前面officejj不仅支持导出word,它操作excel和pdf也很简单。官方文档:https://doc.javaex.cn/officejj怎么发现它的公司主要是为学校开发管理系统的,然后就经常要导......
  • PAT-basic-1006 换个格式输出整数 java
    一、题目让我们用字母B来表示“百”、字母S表示“十”,用12...n来表示不为零的个位数字n(<10),换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSS......
  • PAT-basic-1007 素数对猜想 java
    一、题目让我们定义dn为:dn=p(n+1)−p~n,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意......
  • Java集合框架
    Java集合框架Java的集合框架大致分为两个部分:Collection:主要有List、Set、Queue组成。Map:主要是HashMap,代表是键值对的集合。ListList的特点是存取有序,可以存放重......
  • Javascript与HTML5的canvas实现图片旋转效果
    ​​查看演示​​我们在微博上可以对图片进行向左转向右转等旋转操作,让用户可以从不同的视角欣赏图片效果。本文将结合实例为您讲解如何使用Javascript结合相关技......
  • 【JavaScript】16_JS提升
    13、提升变量var的提升\-使用var声明的变量,它会在所有代码执行前被声明所以我们可以在变量声明前就访问变量(不推荐,不好维护)函数的提升\-......
  • 前端Javascript下载文件
    项目开发中经常会有导出数据到Excel类似的需求,或者是下载文档的需求。最简单的下载方式是直接请求服务端文件地址,通过浏览器http实现文件下载。但是开发中,由于项目需求,你要......
  • Java基础知识点(二维数组)
                       二维数组1.二维数组的定义方式有多种。下面介绍常见的三种方式:第一种:数据类型[][]数组名=new数据类型[行的......