frorze 2022-01-19 21:54 采纳率: 100%
浏览 22
已结题

PAT乙级1010,程序验证一直显示部分正确,一直找不到扣分的点,如何解决?(语言-java)

1010 一元多项式求导 (25 分)
设计函数求一元多项式的导数。
(注:x^n(n为整数)的一阶导数为nx^(n−1) 。)

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

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

import java.util.*;
class Main{
    public static void main(String[] args){
        String m = qiudao();
        System.out.println(m);
    }
    public static String qiudao(){
        Scanner in = new Scanner(System.in);
        String m = in.nextLine();
        String[] split = m.split(" ");
        int[] a = new int[split.length];
        int[] c = new int[split.length];
        for(int i = 0;i< split.length;i++){
            a[i] = Integer.parseInt(split[i]);
        }
        for(int i = 0;i<a.length;i+=2){
            c[i] = a[i]*a[i+1];
            c[i+1] = a[i+1]-1;
        }
        String t = "";
        int count = split.length/2;
        boolean[] b = new boolean[a.length];
        for(int i = 0;i<a.length;i+=2){
            if(c[i]==0){
                if(a[i]!=0){
                    b[i]=true;
                    count--;
                }
            }
        }
        for(int i = 0;i<c.length;i+=2){
            if(b[i]){
                continue;
            }else{
                t = t +c[i]+" "+c[i+1];
                count--;
                if(count!=0){
                    t = t+" ";
                }
            }
        }
        return t;
    }
}
  • 写回答

1条回答 默认 最新

报告相同问题?

问题事件

  • 系统已结题 1月27日
  • 已采纳回答 1月19日
  • 创建了问题 1月19日