7-22 一元多项式求导

设计函数求一元多项式的导数。

输入格式:

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

输出格式:

以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。

输入样例:

3 4 -5 2 6 1 -2 0

输出样例:

12 3 -10 1 6 0

JAVA

import java.util.Scanner;
public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);// 接收输入
        String[] num = scanner.nextLine().split("\\s+");//不止一个空格的时候
        // 以空格为界保存到数组
        String out = "";// 最后要输出的字符串
        for (int i = 0; i < num.length; i += 2) {
            int xS = Integer.parseInt(num[i]);// 输入项的系数
            int zS = Integer.parseInt(num[i + 1]);// 输入项的指数
            int resXS = xS * zS;// 导数项的系数
            int resZS = zS - 1;// 导数项的指数
            if (i == 0 && zS == 0)//指数为0
            {
                out = "0 0";
                break;
            }
            if (resXS == 0)// 如果是导数项为0,不输出
                continue;
            out = out + resXS + " " + resZS + " ";// 将要输出的字符串保存起来
        }
        System.out.print(out.trim());// 去除字符串最后的空格并输出。
    }
}

7-23 求链式线性表的倒数第K项

给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。

输入格式:

输入首先给出一个正整数K,随后是若干非负整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。

输出格式:

输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL

输入样例:

4 1 2 3 4 5 6 7 8 9 0 -1

输出样例:

7

java代码

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
        String []a=buf.readLine().split("\\s+");
        int k=Integer.parseInt(a[0]);
        if (k>a.length-2) {
            System.out.println("NULL");
        }
        for(int i=a.length-1;k>=0;k--) {
            if (k==0) {
                int res=Integer.parseInt(a[i]);
                System.out.println(res);
            }
            i--;
        }
        
    }
}
最后修改:2022 年 09 月 27 日
如果觉得我的文章对你有用,请随意赞赏