請選擇 進入手機版 | 繼續訪問電腦版

Panaplat Forum

 找回密碼
 立即註冊
搜索
熱搜: Tieng Viet
查看: 1968|回復: 0

Perl九宮格計算程式

[複製鏈接]
發表於 2017-6-21 23:08:26 | 顯示全部樓層 |閱讀模式

  1. use strict;
  2. my @num = (1, 2, 3, 4, 5, 6, 7, 8, 9);
  3. my @list = ();
  4. my $n=0;
  5. my $a1;
  6. my $a2;
  7. my $a3;
  8. my $a4;
  9. my $a5;
  10. my $a6;
  11. my $a7;
  12. my $a8;
  13. comb(\@list,\@num);

  14. sub comb {
  15.     # list all the combination of a list
  16.     my ($sel, $bag) = @_;
  17.     if (@$bag == 1) {
  18.         # $n++;
  19.         # print $n." | ";
  20.         # print @$sel, @$bag, "\n";
  21.         $a1=@$sel[0]+@$sel[1]+@$sel[2];
  22.         $a2=@$sel[3]+@$sel[4]+@$sel[5];
  23.         $a3=@$sel[6]+@$sel[7]+@$bag[0];
  24.         $a4=@$sel[0]+@$sel[3]+@$sel[6];
  25.         $a5=@$sel[1]+@$sel[4]+@$sel[7];
  26.         $a6=@$sel[2]+@$sel[5]+@$bag[0];
  27.         $a7=@$sel[0]+@$sel[4]+@$bag[0];
  28.         $a8=@$sel[2]+@$sel[4]+@$sel[6];
  29.         if($a1==$a2){if($a2==$a3){if($a3==$a4){if($a4==$a5){if($a5==$a6){if($a6==$a7){if($a7==$a8){
  30.         $n++;
  31.         print "\t",@$sel[0],", ",@$sel[1],", ",@$sel[2],"\n";
  32.         print $n,"\t",@$sel[3],", ",@$sel[4],", ",@$sel[5],"\n";
  33.         print "\t",@$sel[6],", ",@$sel[7],", ",@$bag[0],"\n";
  34.         print "---------------\n";
  35.         }}}}}}}
  36.         # print $a1,", ",$a2,", ",$a3;
  37.         # print @$sel[0];
  38.         # print @$sel[1];
  39.         # print @$sel[2];
  40.         # print @$sel[3];
  41.         # print @$sel[4];
  42.         # print @$sel[5];
  43.         # print @$sel[6];
  44.         # print @$sel[7];
  45.         # print @$bag[0];
  46.         # print "\n";
  47.         return;
  48.     }
  49.     for (my $i = 0; $i < @$bag; $i++) {
  50.         my @tail = @$bag;
  51.         my @pre = (@$sel, splice(@tail, $i, 1));
  52.         comb(\@pre, \@tail);
  53.     }
  54. }

複製代碼

回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

小黑屋|手機版|Archiver|Panaplat Forum

GMT+8, 2024-3-28 20:00 , Processed in 0.045059 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表