Re: [閒聊] 剛剛有一篇文章..

看板Perl作者 (^_^)時間15年前 (2010/05/26 11:26), 編輯推噓2(204)
留言6則, 3人參與, 最新討論串2/3 (看更多)
※ 引述《dryman (dryman)》之銘言: : 是一個解排列組合的問題.. : 解完後來看,文章居然不見了XD 因為我寫著寫著就解出來了XD 不知道有版大在回應,想說沒人看到趕緊刪掉:p 謝謝版大! 我的解法跟版大的有點像 我是寫兩個for 一開始把key做成array,然後對這個array寫兩個for作組合 my @Singlename = keys %Single; print @Singlename; my $NameLength=0; foreach my $k (@Singlename){ $NameLength++; } for(my $i=0; $i<=$NameLength-1; $i++){ my $Name1 = $Singlename[$i]; for(my $j=$i; $j<=$NameLength-1; $j++){ my $Name2 = $Singlename[$j]; my $Value; if($Name1 eq $Name2){ $Value = ($Single{$Name1}/$SingleCount)*($Single{$Name2}/$SingleCount); }elsif($Name1 ne $Name2){ $Value = 2*($Single{$Name1}/$SingleCount)*($Single{$Name2}/$SingleCount); }else{ die "Name1 and Name2 error!!"; } my $PName = $Name1.+$Name2; $Predict{$PName} = $Value; } } print "\nPredict\n"; print "$_: $Predict{$_}\n" for keys %Predict; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.88.228

05/26 11:34, , 1F
這寫法好像 C :p
05/26 11:34, 1F

05/26 13:17, , 2F
請問$SingleCount是做什麼用的@ @"
05/26 13:17, 2F

05/26 13:20, , 3F
$NameLength-1 可以用 $#SingleName 取代
05/26 13:20, 3F

05/26 13:21, , 4F
for裡面可以用for $i (0..$#SingleName)
05/26 13:21, 4F

05/26 13:34, , 5F
對... 因為我對$#還很不熟,常常會忘記:D
05/26 13:34, 5F

05/26 13:35, , 6F
$SingleCount是別段沒剪到的XD 把分子除上分母而已~
05/26 13:35, 6F
文章代碼(AID): #1B_9JEvG (Perl)
討論串 (同標題文章)
文章代碼(AID): #1B_9JEvG (Perl)