作者adu (^_^)
看板Perl
标题Re: [闲聊] 刚刚有一篇文章..
时间Wed May 26 11:26:04 2010
※ 引述《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
1F:推 AlanSung:这写法好像 C :p 05/26 11:34
2F:→ dryman:请问$SingleCount是做什麽用的@ @" 05/26 13:17
3F:推 dryman:$NameLength-1 可以用 $#SingleName 取代 05/26 13:20
4F:→ dryman:for里面可以用for $i (0..$#SingleName) 05/26 13:21
5F:→ adu:对... 因为我对$#还很不熟,常常会忘记:D 05/26 13:34
6F:→ adu:$SingleCount是别段没剪到的XD 把分子除上分母而已~ 05/26 13:35