方程求解(洛谷P1689题题解,Java语言描述)
生活随笔
收集整理的這篇文章主要介紹了
方程求解(洛谷P1689题题解,Java语言描述)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目要求
P1689題目鏈接
分析
是一個小的模擬題,可以窮舉情況并得到答案。
共有六種可能:
- A+B=XA+B=XA+B=X → X=A+BX=A+BX=A+B
- A+X=BA+X=BA+X=B → X=B?AX=B-AX=B?A
- X+A=BX+A=BX+A=B → X=B?AX=B-AX=B?A
- A?B=XA-B=XA?B=X → X=A?BX=A-BX=A?B
- A?X=BA-X=BA?X=B → X=A?BX=A-BX=A?B
- X?A=BX-A=BX?A=B → X=A+BX=A+BX=A+B
化簡以后就得到了最終情況,只需要分析到各種情況,并輸出結果即可。
AC代碼(Java語言描述)
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String formula = scanner.nextLine().replaceAll("\\s+", "");scanner.close();String a, b, c;int index1, index2 = formula.indexOf("=");if (formula.contains("+")) {index1 = formula.indexOf("+");a = formula.substring(0, index1);b = formula.substring(index1+1, index2);c = formula.substring(index2+1);if ("?".equals(c)) {System.out.println(Integer.parseInt(a) + Integer.parseInt(b));} else {System.out.println(Integer.parseInt(c) - Integer.parseInt(("?".equals(a)) ? b : a));}} else {index1 = formula.indexOf("-");a = formula.substring(0, index1);b = formula.substring(index1+1, index2);c = formula.substring(index2+1);if ("?".equals(a)) {System.out.println(Integer.parseInt(b) + Integer.parseInt(c));} else {System.out.println(Integer.parseInt(a) - Integer.parseInt(("?".equals(c)) ? b : c));}}} }總結
以上是生活随笔為你收集整理的方程求解(洛谷P1689题题解,Java语言描述)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 逆序对(洛谷P1908题题解,Java语
- 下一篇: 【Java】递归删除文件目录