我之前写过一篇有关解一元一次方程的那些坑的博客,那个题的细节还是比较多的,对于没经验的人呢,确实是各种WAWA大哭。 这里是多项式,按照格式打,看下去,让我们看看有哪些坑吧~~ (也是黄题,稍有麻烦,不算太难)
题目要求P1067题目链接
我们要明确,最高位固定的情况下,N位一共有N+1项。
首先是单独的常数项或者ax+b两种大情况。 为什么单独拎出来呢? 因为比如说二次项,ax^2,但一次项是ax,不能写成 ax^1。 如果不加以特判的话,开始项就不能得以区分。
在处理细节的时候注意:
- 开头项的+不显示,但-显示;非开头项的+要作为加号进行连接,这是一个细节。
- 当系数为0的时候,就一定要去掉这一项(不显示)。
- 很坑的一个问题是我们可以写x^2+1,不能写 1x^2+1,这不符合习惯。 (这也是我第一次WA的原因)
在多次项(当次数大于等于2的时候,进行常规判断流程)进行连接的时候,连接用+和-,但负数本身带-,正数不带+,所以要在正数前补“+”,负数则权当忽略不做处理。毕竟负号和减号在连接的时候等价。 要将后面特殊的一次项和常数项进行特殊化处理,当做尾部连接部分连接上去。
再说说Java处理这种问题的一些语法细节。 为了避免多种情况的嵌套,我们可以不做else处理,而是对已有步骤直接进行System.out.println()然后return; main()方法也是一个函数,return即可结束函数。 鉴于大量的运用“+”进行字符串连接效率低(因为要转StringBuilder然后开循环balabala),直接用StringBuilder就好啦~~
感兴趣的可以康康代码,容易理解,Fine~
第一次提交WA掉了,Share一下评测数据3in
99 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 1 8
out
-x^99 -7x^50 +100x^2+x+8
(请注意我加了两个空格(方便博客的显示),但实际上是没有的,请务必注意)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
if (num == 0) {
System.out.println();
return;
}
int head = scanner.nextInt();
if (num == 1) {
System.out.println(head);
return;
} else if (num == 2) {
int rear = scanner.nextInt();
if (head == 1) {
System.out.print("x");
} else if (head == -1) {
System.out.print("-x");
} else {
System.out.print(head + "x");
}
if (rear > 0) {
System.out.println("+" + rear);
} else if (rear = 2; i--) {
int temp = scanner.nextInt();
if (temp == 1) {
builder.append("+x^" + i);
} else if (temp == -1) {
builder.append("-x^" + i);
} else if (temp > 0) {
builder.append("+" + temp + "x^" + i);
} else if (temp 0) {
builder.append("+" + first + "x");
} else if (first 0) {
builder.append("+" + rear);
} else if (rear
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?