Sam Virgo - 1 year ago 89

Dart Question

I am writing a program that needs to find the maximum value of X that satisfies the 2 following equations:

9x < 10

7.5x < 8

Can anyone advise on the best way to go about this? I am writing the program in Dart but would appreciate examples/advice in any language.

This is what I have done currently but I am not 100% sure this is correct:

`double Xval = 10/9;`

if(7.5 * Xval > 8)

Xval = 8 / 7.5;

Please note the program would have to work if we changed any or all of the numbers (e.g. the 9, 10, 7.5 or the 8).

Recommended for you: Get network issues from **WhatsUp Gold**. **Not end users.**

Answer Source

It needs some mathematical logic.

1)First find value of `x`

by replacing `<`

to `=`

. Eg. Find `x`

in `9x=10`

.

2)Find minimum of both the solution `x`

.

3)This minimum value will satisfy both the equation its obvious but we have replaced `<`

with `=`

so we need to subtract a smallest value by which we can find maximum `x`

which satisfy the original equation.

4)So subtract the value `0.0001`

from minimum if you want 4 decimal point precision. Generally subtract `(10)^(-DecimalPointPrecision)`

value ,so here `DecimalPointPrecision`

is equal to `4`

.

5)This value you get will satisfy both the equation and it will be the maximum value of x.

I have written a code in java implementing this logic.

```
import java.util.Scanner;
class SolveEquation
{
public static void main(String [] args)
{
float ip1_left;
float ip1_right;
float ip2_left;
float ip2_right;
Scanner sc=new Scanner(System.in);
System.out.print("\nEnter the multiplier of x of 1st equation:");
ip1_left=sc.nextFloat();
System.out.print("Enter the constant of 1st equation:");
ip1_right=sc.nextFloat();
System.out.print("Enter the multiplier of x of 2nd equation:");
ip2_left=sc.nextFloat();
System.out.print("Enter the constant of x of 2nd equation:");
ip2_right=sc.nextFloat();
float ans1=ip1_right/ip1_left;
float ans2=ip2_right/ip2_left;
float min=ans1;
if(ans2<ans1)
min=ans2;
//If you want 4 decimal precision then print 4 digits after point and subtract 0.0001 (where 1 is placed on 4th place after decimal point).
System.out.printf("\nMaximum value of x is %.4f",min-0.0001);
}
}
```

Recommended from our users: **Dynamic Network Monitoring from WhatsUp Gold from IPSwitch**. ** Free Download**