outmylife 发表于 2013-12-25 14:55

C++编程

写程序在1,2,…,9(保持这个顺序)之间可任意放+或-或都使其结果等于100,输出所有可能的放法。例如:1 + 2 + 3 – 4 + 5 + 6 + 78 + 9 = 100。

outmylife 发表于 2013-12-25 14:57

期待大神出现

风剑 发表于 2013-12-25 15:29

这种挺麻烦的吧    这考的不是写代码的高手    考的是算法    问的应该是数学家而不是写代码的

    先问清弄数学的   列出怎么弄的方法   然后叫写代码的去编码

刁总书记 发表于 2013-12-25 15:39

穷举法  很easy   

刁总书记 发表于 2013-12-25 15:40

[发帖际遇]: IVAN为刁总书记 泡了一杯菊花茶,消费6 水晶.

Nal_TonY 发表于 2013-12-25 15:46

穷举法撒!

tangsa 发表于 2013-12-25 16:08

屌丝认为应该将可能出现的算式穷举出来,再把结果等于100的筛出来。。。
要扯到什么算法的,就只能匿了。。

蠕蠕 发表于 2013-12-25 16:13

1~9 之间8个空格,可以放+-空3种可能,才3^8次方
才几千种可能
穷举轻轻松松吧

stonyfield 发表于 2013-12-25 17:06

确实用穷举法很轻松。

BeRush 发表于 2013-12-25 17:18

用穷举法,但是现实中这样是没效率的

热啊 发表于 2013-12-25 18:16

这是数学,和编程关系不大

国妓米兰 发表于 2013-12-25 18:21


写程序在1,2,…,9(保持这个顺序)之间可任意放+或-或都使其结果等于100,输出所有可能的放法。例如:1 + 2 + 3 – 4 + 5 + 6 + 78 + 9 = 100。

既然是1~9的加减组合为什么会出现78?
穷举太暴力了,你把条件说清楚点,可以用动态规划的

国妓米兰 发表于 2013-12-25 18:40

本帖最后由 国妓米兰 于 2013-12-25 18:42 编辑

如果是你例子里的情况,中间可以十位数,但是个位要比十位数值大于一?

页: [1]
查看完整版本: C++编程