java求一个小算法


n = 金额1 y = 折扣 x = n*y 金额2


输入总金额1:10000 总金额2:8000


订单集合:

id = 1, n = 3000 , y = 0.8, x = n*y

id = 2, n = 2000 , y = 1.0 , x = n*y

id = 3 ,n = 5000 , y = 0.7 , x = n*y

.......等等若干


输入总金额1和总金额2 需要在若干订单中根据金额1总和 = 总金额2 并且金额2 总和 = 总金额2

返回结果

:

id = 1, n = 2000, y = 0.8 ,x = n*y

id = 3, n = 4000, y = 0.7 ,x = n*y

...。。。。。等等,返回最优解。

输入总金额1和总金额2

需要在若干订单中根据

金额1总和 = 总金额2

并且金额2 总和 = 总金额2


你这个是要求⌛阿



金额1的总和= 总金额1。金额2的总和等于总金额2

写错了,订单数量越少越好

public class Test3 {

public static void main(String[] args) {

Scanner in=new Scanner(System.in);

System.out.println("输入总金额");

double n1 = in.nextDouble();

System.out.println("输入打折后的钱数");

double x2 = in.nextDouble();


double n=1;

double x=2;

double id=1;

while ( n==n1 && x==x2 ){

System.out.println(id);

}

兄弟,没有这么简单,需要订单组合然后得出结果。不一定是单个订单

请问你订单的数量大吗,这个算法对效率的要求高吗,还是只要能找出来就行。

数据量大,不要那种基本的挨个计算好几亿次的那种。

这个订单集合是什么类型的?请问是List<Map<String,Object>>这样的吗,还是别的集合类型?


这个只能用java去实现吗 还是可以用数据库实现

只能用JAVA


订单得类型List<Order>

class Order {

long id;

double n; //金额1

double y; //折扣

double x; //金额2


}