问题如下:
购物帐单显示:
商品A的单价是7.98元,商品B的单价是18.70元,商品C的单价是35.50元;
总共花费 1000元。
问:三种商品各买了几件?
通过枚举可以找到并确定,有正整数唯一解:
A=45,B=2,C=17
请教,不采用枚举,获得正整数解的算法。
问题如下:
购物帐单显示:
商品A的单价是7.98元,商品B的单价是18.70元,商品C的单价是35.50元;
总共花费 1000元。
问:三种商品各买了几件?
通过枚举可以找到并确定,有正整数唯一解:
A=45,B=2,C=17
请教,不采用枚举,获得正整数解的算法。
感谢回答!不过,这是一道小学奥数,所以不可能用枚举的方法。
这是fortran的枚举代码:
我猜想,有可能用类似“素数筛法”的算法,也就是通过一次枚举可以筛去(跳过)后续一大批枚举的算法。但是,没有能想出来具体办法。于是,才来请教各位大神的。
考虑笔算的条件,筛法枚举的步数应该少于10次。否则,难以手工计算的。