二元一次方程

  1. public class Equation2 {
  2. private static float x1;
  3. private static float x2;
  4. private static float x;
  5. private static float real;
  6. private static float imag;
  7. private static float[] results;
  8. private static float a;
  9. private static float b;
  10. private static float c;
  11. private static float delt;
  12. public static void calc(float w,float p,float q){
  13. results=new float[2];
  14. a=w; b=p; c=q;
  15. if(0.0f==a){ //bx+c=0; x=-c/b;
  16. if(0.0f!=b){
  17. x=-c/b;
  18. results[0]=x;
  19. }else{
  20. System.err.println("不是一个方程!");
  21. return;
  22. }
  23. }else{
  24. delt=b*b-4*a*c;
  25. if(delt>=0){
  26. x1=(float) ((-b+Math.sqrt(delt))/(2*a));
  27. x2=(float) ((-b-Math.sqrt(delt))/(2*a));
  28. results[0]=x1;
  29. results[1]=x2;
  30. }else{
  31. real=-b/(2*a);
  32. imag=(float) (Math.sqrt(-delt)/(2*a));
  33. results[0]=real;
  34. results[1]=imag;
  35. }
  36. }
  37. }
  38. public static void print(){
  39. if(0.0f==a){
  40. if(0.0f!=b){
  41. System.out.println("该方程是一元一次方程,其根为:x="+results[0]);
  42. }else{
  43. System.err.println("不是一个方程!");
  44. }
  45. }else{
  46. if(delt>=0){
  47. System.out.println("该方程是一元二次方程,两根分别为:x1="+results[0]+",x2="+results[1]);
  48. }else{
  49. System.out.println("该一元二次方程的根为复数,两根分别为:x1="+results[0]+"+"+results[1]+"i"+",x2="+results[0]+"-"+results[1]+"i");
  50. }
  51. }
  52. }
  53. public static void main(String[] args) {
  54. float a=1.0f;
  55. float b=2.0f;
  56. float c=2.0f;
  57. Equation2.calc(a,b,c);
  58. Equation2.print();
  59. Math.sqrt(a);
  60. }
  61. }
时间: 2024-10-06 19:56:30

二元一次方程的相关文章

js实现求二元一次方程的根

已知ax的平方+bx+c=0;求根:<br />系数A:<input type="number" id="a" /><br />系数B:<input type="number" id="b" /><br />系数C:<input type="number" id="c" /><br /><input

二元一次方程组求解

首先要找到二元一次方程组的通解,例如: ax+by=m cx+dy=n 不难算出 x=(md-bn)/(ad-bc) y=(mc-an)/(bc-ad) 程序代码: #include<stdio.h> #include<math.h> int main(){ int a,b,c,d,m,n; double x=0,y=0; scanf("%d,%d,%d,%d,%d,%d",&a,&b,&c,&d,&m,&n);

解不等式组、二元一次方程组、三元一次方程组

不等式性质: 一.加减同一个数,方向不变. 二.乘以(除以)同一个正数,方向不变. 三.乘以(除以)同一个负数,方向改变. 例:/3x - 15 > 0  ① \7x - 2 < 8x  ② 解①式可得 x > 5 解②可可得 -2 < x 该不等式的解集为 x > 5 解二元一次方程组: 1.消元解二元一次方程组有代入消元和加减消元法. 2.代入消元法:把二元一次方程组的一个未知数用另一个未知数表示出来,再带入另一个方程,实现消元. 3.加减消元法:两个方程中同一个未知数系

作业二:生成四则运算和二元一次方程

生成四则运算所用方法类似生成二叉树的方法递归添加.直接上代码! public class 四则运算 { public static String str = "";//保存题目的字符串 public static int num = 5;//每题中数的个数 public static int num_i = 0;//题目中已有数的个数 public static int numberRange = 100;//运算中数的最大取值 public static double sum = 0

C# 二元一次方程参数求解

本文记录了关于求直线斜率及纵截距值的简单方法,只是简单的记录下求解思路,最终还需根据具体项目进行优化. 设直线方程式为:y=kx+b 编程思想: 1.代入y1与x1的值,得到:y1=kx1+b 2.代入y2与x2的值,得到:y2=kx2+b 3.首先算出一个系数m=kx1 / kx2 或 m=kx2 / kx1 4.根据第三步,将 y1=kx1+b 或 y2=kx2+b 乘以系数m,使 kx1==kx2 ,注意 kx1与kx2不能为0 4.将2个函数相减,例如:my2-my1=mb-b 即 m(

POJ2142 The Balance【二元一次方程】

题目链接: http://poj.org/problem?id=2142 题目大意: 有一个天平,还有质量为a和质量为b的砝码,砝码的数量不限且天平左右两端均可放砝码,现在要求 在天平上惩处质量为c的物品.那么问题来了:怎样放置砝码,才能使放置的砝码数量尽可能的少:当 砝码数量相同时,总质量尽可能的少. 思路: 假设放置x个质量为a的砝码和y个质量为b的砝码,题目就变为了求解a*x + b*y = c的其中一组解,使 得|x| + |y|尽可能小,若相等,则a|x| + b|y|尽可能小.设d

求二元一次方程ax^2+bx+c=0的根

刚开始写的程序里还定义了x1,x2两个变量 后面发现根本不需要这两个变量 代码如下:

C语言初学 计算二元一次方程的问题

#include<stdio.h> #include<math.h> int main() { double a,b,c,disc,x1,x2; scanf("%lf%lf%lf",&a,&b,&c); disc=b*b-4*a*c; if(disc>0) { printf("方程有俩个不同的实数根\n"); printf("x1=%5.2f\n,x2=%5.2f\n",(-b/(2*a)+s

360. Sort Transformed Array二元一次方程返回大数序列

[抄题]: Given a sorted array of integers nums and integer values a, b and c. Apply a quadratic function of the form f(x) = ax2 + bx + c to each element x in the array. The returned array must be in sorted order. Expected time complexity: O(n) Example 1