內容 :
話說同學們正在學習二元一次方程組。
二元一次方程組的練習題鋪天蓋地地湧向同學們,同學們正苦惱於一次次地四則運算、移項、合併同類項等等。
他們知道你很聰明,想請你幫他們編一個解二元一次方程組的程序。
我們假定二元一次方程組的一般格式如下:(a,b,c,d,e,f為常數,x,y為未知數)
ax+by=c
dx+ey=f
程序讀入a,b, c,d,e,f後,輸出解。
當然,方程組也有可能存在無解或有無窮解的情況:如果(x,y)沒有相對應的實數對滿足方程組則無解;相反,如果(x,y)有多組對應的實數對滿足方程組則有無數解。
如果無解,就輸出“No answer”;如果有無窮解,就輸出“Too many”。
二元一次方程組的練習題鋪天蓋地地湧向同學們,同學們正苦惱於一次次地四則運算、移項、合併同類項等等。
他們知道你很聰明,想請你幫他們編一個解二元一次方程組的程序。
我們假定二元一次方程組的一般格式如下:(a,b,c,d,e,f為常數,x,y為未知數)
ax+by=c
dx+ey=f
程序讀入a,b, c,d,e,f後,輸出解。
當然,方程組也有可能存在無解或有無窮解的情況:如果(x,y)沒有相對應的實數對滿足方程組則無解;相反,如果(x,y)有多組對應的實數對滿足方程組則有無數解。
如果無解,就輸出“No answer”;如果有無窮解,就輸出“Too many”。
輸入說明 :
輸入僅1行,包含6個整數,a,b,c,d,e,f。輸入數據保證正確。
輸出說明 :
如果有解,那麼第1行先輸出“x=”,再輸出x的值,第2行先輸出“y=”,再輸出y的值,均保留2位小數,請參照樣例輸出。
如果無解或有無數解則按要求輸出“No answer”或“Too many”。
如果無解或有無數解則按要求輸出“No answer”或“Too many”。
範例輸入 :
1 1 2 1 -1 0
範例輸出:
X = 1.00 Y = 1.00
提示:
import java.util.Scanner;
二元一次方程都不會?
public class a410 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int a,b,c,d,e,f;
int temp;
a=sc.nextInt(); b=sc.nextInt(); c=sc.nextInt();
d=sc.nextInt(); e=sc.nextInt(); f=sc.nextInt();
temp = a*e-b*d;
if(temp == 0)
{
if(c*d == a*f)
System.out.println("Too many\n");
else
System.out.println("No answer\n");
}
else
{
System.out.println("x="+String.format("%.2f",(double)(c*e-b*f)/temp));
System.out.println("y="+String.format("%.2f",(double)(c*d-a*f)/-temp));
}
}
}
}
沒有留言:
張貼留言