[color=white]
----------------解决方案--------------------------------------------------------
呵呵,没有,用了一天的时间在修改你的程序变成我想要的东西,我现在已经解决了组合的问题,非常谢谢泉此方!这个程序简单好用,佩服! 不过我现在发现个新的问题,我想要组合的是字母,每种字母的取法都对应着一个数字,比如说GGG, GGA, GGB 分别对应着20, 20, 30, 然后我想要删除有相同数字的组合,GGG 和GGA 就只能保留一个。 这个应该说不难,建立一个数组,然后循环比较,出现相同的就剔除一个,不过当我从20中取到10以后的时候,就会有几千万甚至几亿个组合(根据公式计算),根本就超出了数组的range,除非能够在一边取的时候,一边就比较,剔除(组合中有大量这种数字相同的)。不过感觉这根本不太可能,有达人有好的建议吗?谢谢!不过我觉得剔除后也大概会有十几万个,还是一样会超出数组的range。遇到这样的情况有什么办法处理呢????谢谢!
----------------解决方案--------------------------------------------------------
你得说明为什么这样对应,字母是怎么对应数字的
说清楚这个才好办
[color=white]
----------------解决方案--------------------------------------------------------
谢谢泉此方! G,A,B分别是不同的氨基酸, 如果取GAB,对应GAB的数字就是它们质量的加合.因为我要删除质量相同的取法,所以我把每个对应的数字都赋给一个数组,循环剔除,不过现在最多只能运行到取6种的情况.
----------------解决方案--------------------------------------------------------
那它们的质量和的最大可能取值是多少
[color=white]
----------------解决方案--------------------------------------------------------
很难么??
我觉得用n重循环就可以解决了啊?
----------------解决方案--------------------------------------------------------
粗略地想了一下 应该用递归吧 因为N是不确定的值
当运行到N+一回时 跳出
----------------解决方案--------------------------------------------------------
[bo][un]Thunderbird[/un] 在 2008-6-13 12:09 的发言:[/bo]
很难么??
我觉得用n重循环就可以解决了啊?
很难么??
我觉得用n重循环就可以解决了啊?
哈哈哈哈。。。。。。。
你意思是要取多少个数就写多少重循环???
[color=white]
----------------解决方案--------------------------------------------------------
质量和的最大值很小,不超过2000。不剔除质量数字相同的,当取到19的时候,有400 billion个组合,我换了指针,最多也只能运行到12 billion。如果剔除重复的,从1取到19所有组合加起来估计不会超过4 million。
----------------解决方案--------------------------------------------------------
[bo][un]myelement[/un] 在 2008-6-13 22:23 的发言:[/bo]
质量和的最大值很小,不超过2000。不剔除质量数字相同的,当取到19的时候,有400 billion个组合,我换了指针,最多也只能运行到12 billion。如果剔除重复的,从1取到19所有组合加起来估计不会超过4 million。
质量和的最大值很小,不超过2000。不剔除质量数字相同的,当取到19的时候,有400 billion个组合,我换了指针,最多也只能运行到12 billion。如果剔除重复的,从1取到19所有组合加起来估计不会超过4 million。
非常非常好,那原来的代码只要极少量的修改就可以轻松做出来了
[color=white]
----------------解决方案--------------------------------------------------------