今天一个还在读书的老同学抛了个问题给我:
一只公鸡5元,一只母鸡3元,三只小鸡1元,问100元买100只鸡,各多少,编程解决。。。。。
其实现在对帮人写作业已经没有兴趣了,
只不过同学后面那句比较奇怪:
老师说O(N³)太复杂,可以弄成O(N²),。。。。。。
我不明白这里要什么O(N³)、O(N²),这只是简单的小学二元方程啊,用emacs就可以演算一下,O(N)就可以:
;由方程
;5 x + 3 y + 1/3 z = 100
;x + y + z = 100
;导成----->
;2 y + 14/3 z = 400
;6 y + 14 z = 1200
;5 x + 5 y + 5 z = 500
(remove-if-not 'identity
(loop for y from 1 to 10 collect
(let* ((z (/ (- 1200 (* 6 y))
14))
(x (- 100 y z)))
(if (= 300 (+ (* 15 x) (* 9 y) z))
(list x y z)
nil))))
;结果为((12 4 84))
各位同学有O(N²)么??