魅族魅蓝e22和魅族PRO 6Plus对比有什么区别

查看: 381|回复: 17
dll运行占用内存过多的解决办法,求大神帮忙解决下.......
阅读权限30
在线时间 小时
结帖率: (28/30)
做成exe程序没有问题,但是编译成dll 就提示占用内存过多....
求大侠帮忙写一下比如分段分批操作....
20:00 上传
点击文件名下载附件
1.34 KB, 下载次数: 7
(11.61 KB, 下载次数: 0)
20:00 上传
测试看看,dll
中 变量数据 都建议 静态
[e=1].版本 2
.子程序 Call, 整数型, , by:易语言我吃了
.参数 子程序地址, 子程序指针
.参数 参数1, , 可空
.参数 参数2, , 可空
.参数 参数3, , 可空
.参数 参数4, , 可空
.参数 参数5, , 可空
.参数 参数6, , 可空
.参数 参数7, , 可空
.参数 参数8, , 可空
.参数 参数9, , 可空
.参数 参数10, , 可空
.参数 参数11, , 可空
.参数 参数12, , 可空
.参数 参数13 ...
回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至
可获得加分喔。友情提醒:本版被采纳的主题可在
帖子申请荣誉值,获得 1点 荣誉值,荣誉值可兑换终身vip用户组哦。快捷通道: →
阅读权限165
在线时间 小时
签到天数: 14 天结帖率: (10/10)
22222.jpg.bmp (45.61 KB, 下载次数: 0)
21:18 上传
测试看看,dll&&中 变量数据 都建议 静态
&&Call整数型&by:易语言我吃了子程序地址子程序指针&&&参数1&√&参数2&√&参数3&√&参数4&√&参数5&√&参数6&√&参数7&√&参数8&√&参数9&√&参数10&√&参数11&√&参数12&√&参数13&√&参数14&√&参数15&√&置入代码 ({ 86, 190, 15, 0, 0, 0, 141, 77, 8, 141, 76, 241, 252, 139, 65, 4, 133, 192, 116, 2, 255, 49, 78, 131, 233, 8, 133, 246, 117, 239, 255, 85, 8, 94, 201, 194, 124, 0 })返回 (0).版本 2
.子程序 Call, 整数型, , by:易语言我吃了
.参数 子程序地址, 子程序指针
.参数 参数1, , 可空
.参数 参数2, , 可空
.参数 参数3, , 可空
.参数 参数4, , 可空
.参数 参数5, , 可空
.参数 参数6, , 可空
.参数 参数7, , 可空
.参数 参数8, , 可空
.参数 参数9, , 可空
.参数 参数10, , 可空
.参数 参数11, , 可空
.参数 参数12, , 可空
.参数 参数13, , 可空
.参数 参数14, , 可空
.参数 参数15, , 可空
置入代码 ({ 86, 190, 15, 0, 0, 0, 141, 77, 8, 141, 76, 241, 252, 139, 65, 4, 133, 192, 116, 2, 255, 49, 78, 131, 233, 8, 133, 246, 117, 239, 255, 85, 8, 94, 201, 194, 124, 0 })
补充内容 ( 21:20):
表示 没有问题,测试了
热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!
您可以选择打赏方式支持他
阅读权限90
在线时间 小时
签到天数: 19 天
不明白你要搞这么有什么用,一个遍历而已,有那么麻烦么,你遍历整个磁盘也不至于啊
您可以选择打赏方式支持他
阅读权限165
在线时间 小时
签到天数: 14 天结帖率: (10/10)
变量 建议定义时候不要就 清楚了
您可以选择打赏方式支持他
阅读权限30
在线时间 小时
结帖率: (28/30)
变量 建议定义时候不要就 清楚了
什么意思???能帮忙写个例子吗大哥
您可以选择打赏方式支持他
阅读权限140
在线时间 小时
签到天数: 2 天结帖率: (1/1)
看了一下,你的问题是递归层数过多造成的,想办法减少层数或用其他方法实现
您可以选择打赏方式支持他
阅读权限30
在线时间 小时
结帖率: (28/30)
测试看看,dll&&中 变量数据 都建议 静态
[e=1].版本 2
貌似我测试不行啊,能帮忙远程看下吗??? QQ
那就直接传递指针 读取文本就行了,少一个call&
您可以选择打赏方式支持他
阅读权限30
在线时间 小时
结帖率: (28/30)
看了一下,你的问题是递归层数过多造成的,想办法减少层数或用其他方法实现
是的&&就是不知道怎么限制这个....
您可以选择打赏方式支持他
阅读权限165
在线时间 小时
签到天数: 16 天
枚举文件内存本来就站着高
您可以选择打赏方式支持他
阅读权限70
在线时间 小时
签到天数: 16 天结帖率: (1/1)
我有个馊主意...
你应该是DLL写好了以后直接F5调试运行的吧...
你试试编译出来 然后写个进程加载他...
您可以选择打赏方式支持他
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
揭阳精易科技有限公司申明:我公司所有的培训课程版权归精易所有,任何人以任何方式翻录、盗版、破解本站培训课程,我们必将通过法律途径解决!
公司简介:揭阳市揭东区精易科技有限公司致力于易语言教学培训/易语言学习交流社区的建设与软件开发,多年来为中小企业编写过许许多多各式软件,并把多年积累的开发经验逐步录制成视频课程供学员学习,让学员全面系统化学习易语言编程,少走弯路,减少对相关技术的研究与摸索时间,从而加快了学习进度!
防范网络诈骗,远离网络犯罪
违法和不良信息举报电话,企业QQ: ,邮箱:@
Powered by
粤公网安备 25新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
富足长乐, 积分 6401, 距离下一级还需 1599 积分
论坛徽章:0
本帖最后由 kk861123 于
21:31 编辑
fly_in_thesky
& &我运行你的脚本没什么问题,可能是你的文本中含有空行,你在每个while循环后加一个空行判断试试next if /^\s*$/;复制代码另外,我也写了一个,比你的优化一点,使用hash快速定位到第一列相同的行,并且查找到后可以打印并停止判断了。#!/usr/bin/perl
open FILE ,&a.txt& or die $!;
open VI, &b.txt& or die $!;
my %txtA;
while (&FILE&) {
& & next if /^\s*$/;
& & my @fields =
& & push @{ $txtA{ $fields[0] } }, [ $fields[3], $fields[4] ];
}
while (&VI&) {
& & next if /^\s*$/;
& & my @fields =
& & if ( exists $txtA{$fields[0]} ) {& && && && && && & # 定位
& && &&&foreach my $range (@{ $txtA{$fields[0]} }) {& & # 比较
& && && && &if ( $fields[1] & $range-&[0] && $fields[1] & $range-&[1] ) {
& && && && && &
& && && && &}
& && &&&}
& & }
}
复制代码
白手起家, 积分 196, 距离下一级还需 4 积分
论坛徽章:1
& & 我的这个文本主要是不知道第几行会匹配上,可能第一行的匹配完成,第二行的还会匹配,所以好像必须得完成整个数组的遍历吧。否则好像没法限制吧。
& &另外你的@{}这个以前没见过,是在中级perl中提及的吗?
& &另外,非常感谢!!
富足长乐, 积分 6401, 距离下一级还需 1599 积分
论坛徽章:0
fly_in_thesky
& & 是以第一列为键值的数组的哈希,大骆驼数据结构一章介绍的比较详细吧
白手起家, 积分 101, 距离下一级还需 99 积分
论坛徽章:0
linux下直接sort呢
家境小康, 积分 1457, 距离下一级还需 543 积分
论坛徽章:0
为什么不用数据库
白手起家, 积分 196, 距离下一级还需 4 积分
论坛徽章:1
& & 哦&&好的&&多谢!!
白手起家, 积分 196, 距离下一级还需 4 积分
论坛徽章:1
& & 你好!不知道我能不能请教你个问题?
& & 我有个程序的打印是在if条件语句下的,但是不符合条件的也被打印出来了,但是这个条件语句我是单独测试过的,没发现有什么问题,不知道是不是有我不了解的问题存在,能不能求助于你?我找了很久都没找到,实在无奈了。
& & 程序主要目的是这样的,原始文件是20*20的数字矩阵,首先随机生成20个0~4之间的随机数,放到数组@name2中,然后计算原始数据,然后随机产生两组随机数,将@name2中相应位置的数字替换,再计算一次,比较两次计算的结果,如果符合条件判断框,就打印,否则舍弃替换,重新进行上述步骤。问题是,如果一共迭代10000次还好,但是如果是20万次就始终会在最后一个位置出现错误不符合条件判断的被打印了出来。实在没找到原因,还望不吝赐教!多谢!真心求指点!!
& &程序如下:
#!/usr/bin/perl
open FILE,&55a.txt&;
my $ooo=0;
my (@name,@name1,@name2);
my @DD=();
my (@b,@c,@d,@ee,@ff,@F,@b_0,@b_1,@b_2,@b_3,@b_4);
my ($i,$s_0,$s_1,$ss_0,$ss_1,$n0,$n1);
my ($o,$l);
my $min=10;
for($i=0;$i&20;$i++){
& && &&&$b[$i]=0;
& && &&&$c[$i]=0;
& && &&&$d[$i]=0;
& && &&&$ee[$i]=0;
& && &&&$ff[$i]=0;
& && &&&$b_0[$i]=0;
& && &&&$b_1[$i]=0;
& && &&&$b_2[$i]=0;
& && &&&$b_3[$i]=0;
& && &&&$b_4[$i]=0;
& && &&&$F[$i]=0;
& && &&&$D[$i]=0;
& && &&&$DD[$i]=0;
while(&FILE&){
& && &&&@name=
& && &&&for($i=0;$i&20;$i++){
& && && && && & $name1[$ooo][$i]=$name[$i];
& && && && && & }
& && &&&$ooo++;
& && &&&foreach(@name2){
& && && && && & if($_==0){
& && && && && && && && &for($i=0;$i&20;$i++){
& && && && && && && && && && &&&$b[$i]+=$name1[$i][$j];
& && && && && && && && && && &&&}
& && && && && && && && &}
& && && && && & elsif($_==1){
& && && && && && && && &for($i=0;$i&20;$i++){
& && && && && && && && && && &&&$c[$i]+=$name1[$i][$j];
& && && && && && && && && && &&&}
& && && && && && && && &}
& && && && && & elsif($_==2){
& && && && && && && && &for($i=0;$i&20;$i++){
& && && && && && && && && && &&&$d[$i]+=$name1[$i][$j];
& && && && && && && && && && &&&}
& && && && && && && && &}
& && && && && & elsif($_==3){
& && && && && && && && &for($i=0;$i&20;$i++){
& && && && && && && && && && &&&$ee[$i]+=$name1[$i][$j];
& && && && && && && && && && &&&}
& && && && && && && && &}
& && && && && & elsif($_==4){
& && && && && && && && &for($i=0;$i&20;$i++){
& && && && && && && && && && &&&$ff[$i]+=$name1[$i][$j];
& && && && && && && && && && &&&}
& && && && && && && && &}
& && && && && & $j++;
& && &&&$j=0;
& && &&&for($ii=0;$ii&20;$ii++){
& && && && && & $b_0[$ii]=$b[$ii]/6945;
& && && && && & $b_1[$ii]=$c[$ii]/6945;
& && && && && & $b_2[$ii]=$d[$ii]/6945;
& && && && && & $b_3[$ii]=$ee[$ii]/6945;
& && && && && & $b_4[$ii]=$ff[$ii]/6945;
& && && && && & }
& && &&&for($ii=0;$ii&20;$ii++){
& && && && && & if($b_0[$ii]!=0&&$b_1[$ii]!=0&&$b_2[$ii]!=0&&$b_3[$ii]!=0&&$b_4[$ii]!=0){
& && && && && && && && &$D[$ii]=1/5*log((1/5)/$b_0[$ii])+1/5*log((1/5)/$b_1[$ii])+1/5*log((1/5)/$b_2[$ii])+1/5*log((1/5)/$b_3[$ii])+1/5*log((1/5)/$b_4[$ii]);
& && && && && && && && &}
& && &&&else{
& && && && && & for($jj=0;$jj&20;$jj++){
& && && && && && && && &$D[$jj]=$D[$jj];
& && && && && & }
& && &&&for($jj=0;$jj&20;$jj++){
& && && && && & $b[$jj]=0;
& && && && && & $c[$jj]=0;
& && && && && & $d[$jj]=0;
& && && && && & $ee[$jj]=0;
& && && && && & $ff[$jj]=0;
& && && && && & }
sub tuihuo{
& && &&&for($ii=0;$ii&20;$ii++){
& && && && && & $DD[$ii]=$D[$ii];
& && && && && & $D[$ii]=0;
& && && && && & }
& && &&&srand();
& && &&&$s_0=int(rand(20));
& && &&&$ss_0=int(rand(5));
& && &&&$s_1=int(rand(20));
& && &&&$ss_1=int(rand(5));
& && &&&$n0=$name2[$s_0];
& && &&&$n1=$name2[$s_1];
& && &&&$name2[$s_0]=$ss_0;
& && &&&$name2[$s_1]=$ss_1;
& && &&&&hash();
& && &&&for($ii=0;$ii&20;$ii++){
& && && && && & $F[$ii]=$D[$ii]-$DD[$ii];
for($i=0;$i&20;$i++){
& && &&&$max[$i]=10;
for($l=0;$l&1000;$l++){
& && &&&@name2=();
& && &&&srand();
& && &&&for($count=0;$count&20;$count++){
& && && && && & $int=int(rand(5));
& && && && && & push @name2,$
& && &&&}#print @name2,&\n&;
& && &&&&hash();
& && &&&for($o=0;$o&200;$o++){
& && && && && & &tuihuo();
& && && && && & foreach(@name2){
& && && && && && && && && && &&&$oo.=$_;
& && && && && && && && && && &&&}
& && && && && & if($oo=~/0+/&&$oo=~/1+/&&$oo=~/2+/&&$oo=~/3+/&&$oo=~/4+/){
& && && && && && && && &if($F[0]&0&&$F[2]&0&&$F[3]&0&&$F[4]&0&&$F[5]&0&&$F[6]&0&&$F[7]&0&&$F[8]&0&&$F[9]&0&&$F[10]&0&&$F[11]&0&&$F[12]&0&&$F[13]&0&&$F[14]&0&&$F[15]&0&&$F[16]&0&&$F[17]&0&&$F[18]&0&&$F[19]&0&&$F[1]&0){
& && && && && && && && && && &&&for($i=0;$i&20;$i++){
& && && && && && && && && && &&&$u[$i]=$D[$i];}
& && && && && && && && && && &&&if($u[0]&$max[0]&&$u[1]&$max[1]&&$u[2]&$max[2]&&$u[3]&$max[3]&&$u[4]&$max[4]&&$u[5]&$max[5]&&$u[6]&$max[6]&&$u[7]&$max[7]&&$u[8]&$max[8]&&$u[9]&$max[9]&&$u[10]&$max[10]&&$u[11]&$max[11]&&$u[12]&$max[12]&&$u[13]&$max[13]&&$u[14]&$max[14]&&$u[15]&$max[15]&&$u[16]&$max[16]&&$u[17]&$max[17]&&$u[18]&$max[18]&&$u[19]&$max[19]){
& && && && && && && && && && && && && & for($i=0;$i&20;$i++){
& && && && && && && && && && && && && && && && && && &&&$max[$i]=$u[$i];
& && && && && && && && && && && && && && && && &}
& && && && && && && && && && && && && & @n=@name2;
& && && && && && && && && && &&&}
& && && && && && && && && && &&&else{
& && && && && && && && && && && && && & for($i=0;$i&20;$i++){
& && && && && && && && && && && && && && && && && && &&&$max[$i]=$max[$i];
& && && && && && && && && && && && && && && && &}
& && && && && && && && && && && && && & @n=@n;
& && && && && && && && && && && && && & }
& && && && && && && && &}
& && && && && && && && &else{
& && && && && && && && && && &&&$name2[$s_0]=$n0;
& && && && && && && && && && &&&$name2[$s_1]=$n1;
& && && && && && && && && && &&&}
& && && && && & }
& && && && && & else{
& && && && && && && && &$name2[$s_0]=$n0;
& && && && && && && && &$name2[$s_1]=$n1;
& && && && && && && && &}
print @n,&\n&;
close FILE;
55a.txt文件如下:
466 491 69 429 272 496 127 266 446 296 495 500 149 215 400 783 317 56 125 400
457 518 72 371 230 487 139 254 464 289 519 511 139 208 465 767 356 47 148 373
430 485 61 414 232 521 136 290 433 334 528 470 134 205 390 833 325 62 134 414
429 546 69 436 218 512 138 280 441 291 564 493 153 185 424 760 341 55 140 375
398 486 64 433 250 548 150 265 456 310 517 425 120 233 410 833 340 54 155 415
401 507 70 425 228 493 154 296 425 269 638 420 178 243 428 781 303 47 162 414
421 489 57 480 249 495 116 270 475 282 551 412 141 229 383 909 334 58 138 405
413 773 62 440 230 494 136 252 496 275 453 515 117 203 366 794 355 40 130 368
394 444 65 477 225 492 132 275 444 300 537 331 127 228 387
420 525 60 483 189 450 123 326 559 287 598 401 147 237 410 840 306 46 156 382
359 395 75 592 224 463 122 245 487 241 516 289 124 285
67 117 343
389 416 62 603 233 578 89 286 480 323 506 410 112 194 420 940 327 44 103 388
396 465 57 502 262 689 132 244 450 276 509 382 122 240 439 789 298 50 178 407
395 488 59 480 215 623 116 252 436 290 545 462 136 194 367 884 333 47 149 407
415 488 76 469 238 574 135 261 457 250 560 482 108 218 495 732 306 47 154 389
448 491 66 436 239 589 116 256 487 271 527 439 116 194 380 830 342 54 155 396
415 505 56 453 240 576 120 267 459 272 515 472 127 204 399 751 329 57 162 439
417 520 63 436 233 517 133 287 480 278 529 467 119 237 378 824 301 53 132 393
413 536 80 394 272 502 133 288 433 289 511 469 108 240 419 759 300 47 165 419
441 495 74 411 239 501 137 274 477 298 498 488 133 211 371 803 306 48 143 409
富足长乐, 积分 6401, 距离下一级还需 1599 积分
论坛徽章:0
fly_in_thesky
& & 10000次没问题,20W次有问题,是算法问题吧?我看了三遍程序,不好意思,看不懂,一变量太多,二没注释,三不甚了解你的算法。很多地方写的很冗余,也难怪不好调试。
家境小康, 积分 1162, 距离下一级还需 838 积分
论坛徽章:13
[root@ dir]$ cat urfile
12 asd
13 dfg
3 fgh
1 tyu
17 ert
2 tyuo
11 qwe
11 asd
[root@ dir]$ sort -nk +1 urfile
1 tyu
2 tyuo
3 fgh
11 asd
11 qwe
12 asd
13 dfg
17 ert复制代码
白手起家, 积分 196, 距离下一级还需 4 积分
论坛徽章:1
& & 真是不好意思!我又改了下,我怎么就发现不了问题呢?所以厚着脸皮再请教你下。可以吗?
DATA的每行是20种氨基酸的个数,共有20列这样的数据。
我的主程序做法是这样的:
1.随机产生20组0~4的随机数放入@name2中,主要是对20中氨基酸分为5类。
2.把@name2中0对应的位置的DATA中的个数加和,作为0类的氨基酸总数,然后除以固定的6945,得到见到概率,如此把1~4的都统计下。分别把20行的都统计,放入数组。根据$D公式计算,每行都对应一个值-----这个是hash子函数的功能。
3.通过随机产生随机数,比如0,5;就把@name2中对应两个位置的数字随机变换,在计算$D,把这次的与交换前的做差。-----这个是tuihuo子程序的功能
4.判断:1)@name2中含有0~4,每个数字都有。
& && && &2)差值小于0,否则把之前的变换换回。
& && && &3)对应的$D值都在减小(所以我把每次D值放u数组中)
5.符合条件的打印。
我的问题是不知道为什么不符合条件的也被打印出来了?
#!/usr/bin/perl
my $ooo=0;
my (@name,@name1,@name2);
my @DD=();
my (@b,@c,@d,@ee,@ff,@F,@b_0,@b_1,@b_2,@b_3,@b_4);
my ($i,$s_0,$s_1,$ss_0,$ss_1,$n0,$n1);
my ($o,$l);
my $min=10;
while(&DATA&){
& & & & @name=
& & & & for($i=0;$i&20;$i++){
& & & & & & & & $name1[$ooo][$i]=$name[$i];
& & & & & & & & }
& & & & $ooo++;
#上面是将DATA数据按照列放在数组中@name1,形成二维数组
#@name2=(0,0,0,1,2,3,4,0,0,2,1,3,4,3,2,1,0,0,1,0);
& & & & foreach(@name2){
& & & & & & & & if($_==0){
& & & & & & & & & & & & for($i=0;$i&20;$i++){
& & & & & & & & & & & & & & & & $b[$i]+=$name1[$i][$j];
& & & & & & & & & & & & & & & & }
& & & & & & & & & & & & }
& & & & & & & & elsif($_==1){
& & & & & & & & & & & & for($i=0;$i&20;$i++){
& & & & & & & & & & & & & & & & $c[$i]+=$name1[$i][$j];
& & & & & & & & & & & & & & & & }
& & & & & & & & & & & & }
& & & & & & & & elsif($_==2){
& & & & & & & & & & & & for($i=0;$i&20;$i++){
& & & & & & & & & & & & & & & & $d[$i]+=$name1[$i][$j];
& & & & & & & & & & & & & & & & }
& & & & & & & & & & & & }
& & & & & & & & elsif($_==3){
& && && && && && && && &for($i=0;$i&20;$i++){
& && && && && && && && && && &&&$ee[$i]+=$name1[$i][$j];
& && && && && && && && && && &&&}
& && && && && && && && &}
& & & & & & & & elsif($_==4){
& && && && && && && && &for($i=0;$i&20;$i++){
& && && && && && && && && && &&&$ff[$i]+=$name1[$i][$j];
& && && && && && && && && && &&&}
& && && && && && && && &}
& & & & & & & & $j++;
& & & & } #上面是把产生的20个随机数进行统计,如果第一个是0,则把对应的第一列的每行数字加上,如果下个0有出现了,把对应列的每行数字再与之前相加
& & & & $j=0;
& & & & for($ii=0;$ii&20;$ii++){
& & & & & & & & $b_0[$ii]=$b[$ii]/6945;
& & & & & & & & $b_1[$ii]=$c[$ii]/6945;
& & & & & & & & $b_2[$ii]=$d[$ii]/6945;
& & & & & & & & $b_3[$ii]=$ee[$ii]/6945;
& & & & & & & & $b_4[$ii]=$ff[$ii]/6945;
& & & & & & & & } #上面是简单概率计算
& & & & for($ii=0;$ii&20;$ii++){
& & & & & & & & if($b_0[$ii]!=0&&$b_1[$ii]!=0&&$b_2[$ii]!=0&&$b_3[$ii]!=0&&$b_4[$ii]!=0){保证每次计算的分母不为0
& & & & & & & & & & & & $D[$ii]=1/5*log((1/5)/$b_0[$ii])+1/5*log((1/5)/$b_1[$ii])+1/5*log((1/5)/$b_2[$ii])+1/5*log((1/5)/$b_3[$ii])+1/5*log((1/5)/$b_4[$ii]);#主体计算,目的是找到所有循环中该值最小的。
& & & & & & & & & & & & }
& & & & else{
& & & & & & & & for($jj=0;$jj&20;$jj++){
& & & & & & & & & & & & $D[$jj]=$D[$jj];#如果分母为0,则不计算
& & & & & & & & }
& & & & for($jj=0;$jj&20;$jj++){
& & & & & & & & $b[$jj]=0;
& & & & & & & & $c[$jj]=0;
& & & & & & & & $d[$jj]=0;
& & & & & & & & $ee[$jj]=0;
& & & & & & & & $ff[$jj]=0;
& & & & & & & & }#得到一组值后,清空,以便下次计算,防止重复叠加
#print $D[1],&\n&;
sub tuihuo{
& & & & for($ii=0;$ii&20;$ii++){
& & & & & & & & $DD[$ii]=$D[$ii];
& & & & & & & & $D[$ii]=0;
& & & & & & & & }
& & & & srand();
& & & & $s_0=int(rand(20));
& && &&&$ss_0=int(rand(5));
& && &&&$s_1=int(rand(20));
& && &&&$ss_1=int(rand(5));#上面的四个是随机产生两个数字作为@name2的位置,以及替换的数字
& & & & $n0=$name2[$s_0];
& && &&&$n1=$name2[$s_1];#防止替换之后计算不符合$F减小后可以保留替换前的数字,替换回来
& & & & $name2[$s_0]=$ss_0;
& && &&&$name2[$s_1]=$ss_1;#替换
& & & & &hash();
& & & & for($ii=0;$ii&20;$ii++){
& & & & & & & & $F[$ii]=$D[$ii]-$DD[$ii];#两次主体计算的差值
}#上面是随机把@name2中的20个数字选择两个进行变化,然后按照上面hash子函数的计算再求一个D值,做差
for($i=0;$i&20;$i++){
& & & & $max[$i]=10;
for($l=0;$l&1000;$l++){
& & & & @name2=();
& & & & srand();
& & & & for($count=0;$count&20;$count++){
& && && && && & $int=int(rand(5));
& && && && && & push @name2,$#随机按照20个随机数把20种氨基酸分五类
& && &&&}#print @name2,&\n&;
& & & & &hash();
& & & & for($o=0;$o&200;$o++){
& && && && && & &tuihuo();
& & & & & & & & foreach(@name2){
& && && && && && && && && && &&&$oo.=$_;
& && && && && && && && && & & & }#为了检验@name2是否含有0~4所有数字所以拼接在一起
& & & & & & & & if($oo=~/0+/&&$oo=~/1+/&&$oo=~/2+/&&$oo=~/3+/&&$oo=~/4+/){ #保证@name2中含有0,1,2,3,4
& & & & & & & & & & & & if($F[0]&0&&$F[2]&0&&$F[3]&0&&$F[4]&0&&$F[5]&0&&$F[6]&0&&$F[7]&0&&$F[8]&0&&$F[9]&0&&$F[10]&0&&$F[11]&0&&$F[12]&0&&$F[13]&0&&$F[14]&0&&$F[15]&0&&$F[16]&0&&$F[17]&0&&$F[18]&0&&$F[19]&0&&$F[1]&0){#保证刚才最tuihuo子函数中的差值小于0
& & & & & & & & & & & & & & & & for($i=0;$i&20;$i++){
& & & & & & & & & & & & & & & & $u[$i]=$D[$i];}#符合条件的D值都记下
& & & & & & & & & & & & & & & & if($u[0]&$max[0]&&$u[1]&$max[1]&&$u[2]&$max[2]&&$u[3]&$max[3]&&$u[4]&$max[4]&&$u[5]&$max[5]&&$u[6]&$max[6]&&$u[7]&$max[7]&&$u[8]&$max[8]&&$u[9]&$max[9]&&$u[10]&$max[10]&&$u[11]&$max[11]&&$u[12]&$max[12]&&$u[13]&$max[13]&&$u[14]&$max[14]&&$u[15]&$max[15]&&$u[16]&$max[16]&&$u[17]&$max[17]&&$u[18]&$max[18]&&$u[19]&$max[19]){
& & & & & & & & & & & & & & & & & & & & for($i=0;$i&20;$i++){
& & & & & & & & & & & & & & & & & & & & & & & & & & & & $max[$i]=$u[$i];
& & & & & & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & & & & & @n=@name2;
& & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & else{
& & & & & & & & & & & & & & & & & & & & for($i=0;$i&20;$i++){
& && && && && && && && && && && && && && && && && && &&&$max[$i]=$max[$i];
& && && && && && && && && && && && && && && && &}
& & & & & & & & & & & & & & & & & & & & @n=@n;
& & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & }
& & & & & & & & & & & & else{
& & & & & & & & & & & & & & & & $name2[$s_0]=$n0;
& && && && && && && && && & & & $name2[$s_1]=$n1;
& & & & & & & & & & & & & & & & }#如果不合条件,就把刚才随机兑换的数字换回去
& & & & & & & & }
& & & & & & & & else{
& & & & & & & & & & & & $name2[$s_0]=$n0;
& & & & & & & & & & & & $name2[$s_1]=$n1;
& & & & & & & & & & & & }#如果不合条件,就把刚才随机兑换的数字换回去
print @n,&\n&;
466 491 69 429 272 496 127 266 446 296 495 500 149 215 400 783 317 56 125 400
457 518 72 371 230 487 139 254 464 289 519 511 139 208 465 767 356 47 148 373
430 485 61 414 232 521 136 290 433 334 528 470 134 205 390 833 325 62 134 414
429 546 69 436 218 512 138 280 441 291 564 493 153 185 424 760 341 55 140 375
398 486 64 433 250 548 150 265 456 310 517 425 120 233 410 833 340 54 155 415
401 507 70 425 228 493 154 296 425 269 638 420 178 243 428 781 303 47 162 414
421 489 57 480 249 495 116 270 475 282 551 412 141 229 383 909 334 58 138 405
413 773 62 440 230 494 136 252 496 275 453 515 117 203 366 794 355 40 130 368
394 444 65 477 225 492 132 275 444 300 537 331 127 228 387
420 525 60 483 189 450 123 326 559 287 598 401 147 237 410 840 306 46 156 382
359 395 75 592 224 463 122 245 487 241 516 289 124 285
67 117 343
389 416 62 603 233 578 89 286 480 323 506 410 112 194 420 940 327 44 103 388
396 465 57 502 262 689 132 244 450 276 509 382 122 240 439 789 298 50 178 407
395 488 59 480 215 623 116 252 436 290 545 462 136 194 367 884 333 47 149 407
415 488 76 469 238 574 135 261 457 250 560 482 108 218 495 732 306 47 154 389
448 491 66 436 239 589 116 256 487 271 527 439 116 194 380 830 342 54 155 396
415 505 56 453 240 576 120 267 459 272 515 472 127 204 399 751 329 57 162 439
417 520 63 436 233 517 133 287 480 278 529 467 119 237 378 824 301 53 132 393
413 536 80 394 272 502 133 288 433 289 511 469 108 240 419 759 300 47 165 419
441 495 74 411 239 501 137 274 477 298 498 488 133 211 371 803 306 48 143 409
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处}

我要回帖

更多关于 魅族魅蓝e 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信