时间限制: 1Sec 内存限制: 128MB
题目描述:(原题链接)
给出了n个数,要求以k1xn+k2xn-1…+kix的方式写下来。(k1!=0)
前面系数为1的话要省略1,负号的系数要设置为减号。
第一行为一个数n,表示方程的次数(n<50)
接下来n个数,代表从x^n到xn的系数(系数为0不要写)
输入:
无
样例输入:
6
1 0 3 4 -2 2
输出:
无
样例输出 :
解题思路:
注意事项:
注意特殊情况,系数为0、1、-1
参考代码:
import java.util.Scanner;
/**
*/
public class Main {
@SuppressWarnings("resource")
public static void main(String []args) {
Scanner in =new Scanner(System.in);
int n=in.nextInt(),arr[]= new int[n];
String res=""; //构建输出的函数字符串
for(int i=0;i<n;i++) {
arr[i]=in.nextInt();
if(arr[i]<0) {
if(arr[i]==-1)
res = res.substring(0, res.length()-1)+"-x^"+(n-i); //系数为-1
else
res = res.substring(0, res.length()-1)+arr[i]+"x^"+(n-i); //若为负数,消除前面多余的 + 号
}
else if(arr[i]>0) {
if(arr[i]==1) //系数为1
res+="x^"+(n-i);
else
res+=arr[i]+"x^"+(n-i);
}
else //系数为0
continue;
res+="+";
}
if(res.length()<=3)
return ;
else
System.out.println(res.substring(0,res.length()-3)); //删除多余的 1次方 和 + 号
in.close();
}
}