免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: Crisewng
打印 上一主题 下一主题

Perl 在国内到底有没有出路 [复制链接]

论坛徽章:
12
子鼠
日期:2014-10-11 16:46:482016科比退役纪念章
日期:2018-03-16 10:24:0515-16赛季CBA联赛之山东
日期:2017-11-10 14:32:142016科比退役纪念章
日期:2017-09-02 15:42:4715-16赛季CBA联赛之佛山
日期:2017-08-28 17:11:5515-16赛季CBA联赛之浙江
日期:2017-08-24 16:55:1715-16赛季CBA联赛之青岛
日期:2017-08-17 19:55:2415-16赛季CBA联赛之天津
日期:2017-06-29 10:34:4315-16赛季CBA联赛之四川
日期:2017-05-16 16:38:55黑曼巴
日期:2016-07-19 15:03:112015亚冠之萨济拖拉机
日期:2015-05-22 11:38:5315-16赛季CBA联赛之北京
日期:2019-08-13 17:30:53
51 [报告]
发表于 2017-09-11 22:00 |只看该作者
本帖最后由 523066680 于 2017-09-11 22:02 编辑

回复 48# sunzhiguolu

生成数独,内容完全随机,来一个? 解数独也准备开搞

  1. =info
  2.     523066680
  3.     2017-09
  4. =cut

  5. use IO::Handle;
  6. STDOUT->autoflush(1);

  7. my $main = 0;
  8. my $bad = 0;

  9. AGAIN:
  10. our %hash;
  11. grep { $hash{$_} = 1 } (1..9);
  12. @nums = (1..9);

  13. our $mat =
  14.     [
  15.                 #[ 1,2,3,4,5,6,7,8,9 ],
  16.                 [map { splice @nums, int(rand($#nums+1)), 1 } (1..9)],
  17.         [],[],[],[],[],[],[],[]
  18.     ];

  19. my $nextline;
  20. for my $line ( 1 .. 8 )
  21. {
  22.     $nextline = undef;

  23.     func( $line, 0, \$nextline );
  24.     if ( not defined $nextline )
  25.     {
  26.             $bad++;
  27.         print "not ok\n";
  28.     }

  29.     $mat->[$line] = [ split("", $nextline) ];
  30. }

  31. for my $idx ( 0..$#$mat )
  32. {
  33.     printf "%s\n", join(",", @{$mat->[$idx]} );
  34. }

  35. print "\n";
  36. goto AGAIN if ($main++ < 1000);
  37. printf "bad: %d\n", $bad;

  38. sub func
  39. {
  40.     our @all;
  41.     our $mat;
  42.     our %hash;
  43.     my ( $curr, $lv, $ref ) = @_;

  44.     if ($lv > 8)
  45.     {        
  46.         #如果当前行是第五行或者第八行,预判下一行是否无解
  47.         if ( $curr == 4 or $curr == 7)
  48.         {
  49.                 if ( try_next_line( $curr ) == 0 )
  50.                 {
  51.                         return 0;
  52.                 }
  53.                 else
  54.                 {
  55.                         $ref = join("", @{$mat->[$curr]});
  56.                         return 1;
  57.                 }
  58.             }
  59.             else
  60.             {
  61.                     $ref = join("", @{$mat->[$curr]});
  62.                 return 1;
  63.             }
  64.     }

  65.     my @out;
  66.     my %dupl;

  67.     if ( $curr % 3 == 1 )  # 1 2  4 5  7 8
  68.     {
  69.         if    ( $lv < 3 ) { @out = @{$mat->[$curr-1]}[0..2]; }
  70.         elsif ( $lv < 6 ) { @out = @{$mat->[$curr-1]}[3..5]; }
  71.         else              { @out = @{$mat->[$curr-1]}[6..8]; }
  72.     }
  73.     elsif ( $curr % 3 == 2 )
  74.     {
  75.         if    ( $lv < 3 ) { @out = (@{$mat->[$curr-1]}[0..2], @{$mat->[$curr-2]}[0..2]) }
  76.         elsif ( $lv < 6 ) { @out = (@{$mat->[$curr-1]}[3..5], @{$mat->[$curr-2]}[3..5]) }
  77.         else              { @out = (@{$mat->[$curr-1]}[6..8], @{$mat->[$curr-2]}[6..8]) }
  78.     }

  79.     if ($curr >= 3)
  80.     {
  81.         push @out, map { $mat->[$_][$lv] } ( 0 .. 3*int($curr/3) - 1 );
  82.     }
  83.    
  84.     push @out, @{$mat->[$curr]}[ 0 .. $lv-1 ];

  85.     %dupl = %hash;
  86.     grep { delete $dupl{$_} } @out;

  87.     my $res = 0;
  88.     for my $e ( keys %dupl )
  89.     {
  90.         $mat->[$curr][$lv] = $e;
  91.         $res = func($curr, $lv+1, $ref);

  92.         last if ($res == 1);
  93.     }

  94.     return $res;
  95. }

  96. sub try_next_line
  97. {
  98.         my ($row) = shift;
  99.     my $nextline = undef;
  100.     func( $row+1, 0, \$nextline );
  101.     if ( not defined $nextline )
  102.     {
  103.         return 0;
  104.     }
  105.     else
  106.     {
  107.             return 1;
  108.     }
  109. }
复制代码
  1. 1,5,8,2,3,9,6,4,7
  2. 2,7,3,1,6,4,8,5,9
  3. 4,6,9,5,8,7,2,3,1
  4. 3,2,7,6,1,5,4,9,8
  5. 9,4,1,8,7,3,5,6,2
  6. 5,8,6,9,4,2,7,1,3
  7. 6,9,5,3,2,8,1,7,4
  8. 7,1,2,4,9,6,3,8,5
  9. 8,3,4,7,5,1,9,2,6

  10. 6,7,4,8,2,1,9,3,5
  11. 9,3,8,5,4,7,6,1,2
  12. 1,2,5,3,6,9,7,4,8
  13. 3,6,1,7,9,5,2,8,4
  14. 4,5,7,1,8,2,3,6,9
  15. 2,8,9,4,3,6,1,5,7
  16. 7,4,2,6,1,8,5,9,3
  17. 5,1,3,9,7,4,8,2,6
  18. 8,9,6,2,5,3,4,7,1

  19. 4,1,5,3,7,8,9,6,2
  20. 7,9,6,5,4,2,1,3,8
  21. 3,8,2,9,1,6,4,5,7
  22. 9,2,3,8,5,4,6,7,1
  23. 6,5,4,7,9,1,8,2,3
  24. 1,7,8,6,2,3,5,9,4
  25. 2,3,1,4,6,9,7,8,5
  26. 8,6,7,1,3,5,2,4,9
  27. 5,4,9,2,8,7,3,1,6

  28. 4,5,9,6,8,7,2,1,3
  29. 6,2,7,4,1,3,9,5,8
  30. 1,3,8,2,9,5,4,6,7
  31. 3,7,2,1,5,4,8,9,6
  32. 9,6,4,7,2,8,1,3,5
  33. 5,8,1,3,6,9,7,4,2
  34. 2,1,3,8,4,6,5,7,9
  35. 7,4,5,9,3,2,6,8,1
  36. 8,9,6,5,7,1,3,2,4

  37. 9,6,5,7,4,8,1,3,2
  38. 1,2,4,5,3,9,8,6,7
  39. 3,7,8,2,6,1,9,5,4
  40. 2,4,6,9,1,3,5,7,8
  41. 7,1,9,6,8,5,4,2,3
  42. 8,5,3,4,2,7,6,1,9
  43. 5,8,2,1,7,4,3,9,6
  44. 4,9,7,3,5,6,2,8,1
  45. 6,3,1,8,9,2,7,4,5

  46. 5,1,8,2,9,7,3,6,4
  47. 2,7,6,4,5,3,9,1,8
  48. 9,3,4,6,1,8,5,2,7
  49. 4,8,9,1,2,6,7,5,3
  50. 1,6,3,9,7,5,8,4,2
  51. 7,2,5,3,8,4,6,9,1
  52. 8,5,1,7,4,9,2,3,6
  53. 3,4,7,5,6,2,1,8,9
  54. 6,9,2,8,3,1,4,7,5

  55. 3,2,7,1,9,8,6,4,5
  56. 5,4,1,2,7,6,9,8,3
  57. 6,8,9,4,3,5,7,2,1
  58. 1,5,2,8,4,7,3,9,6
  59. 4,9,8,6,1,3,2,5,7
  60. 7,3,6,9,5,2,8,1,4
  61. 8,6,4,3,2,1,5,7,9
  62. 2,1,5,7,6,9,4,3,8
  63. 9,7,3,5,8,4,1,6,2

  64. 1,4,7,9,5,2,6,8,3
  65. 2,9,5,6,3,8,1,7,4
  66. 3,6,8,4,1,7,2,5,9
  67. 8,2,4,3,6,9,5,1,7
  68. 6,3,1,2,7,5,4,9,8
  69. 5,7,9,1,8,4,3,2,6
  70. 4,1,2,7,9,3,8,6,5
  71. 9,5,3,8,2,6,7,4,1
  72. 7,8,6,5,4,1,9,3,2

  73. 1,8,2,4,9,7,5,3,6
  74. 6,4,9,2,3,5,7,8,1
  75. 3,7,5,1,6,8,2,9,4
  76. 9,6,3,7,1,4,8,5,2
  77. 4,5,1,8,2,9,3,6,7
  78. 7,2,8,3,5,6,1,4,9
  79. 8,1,6,5,4,2,9,7,3
  80. 5,3,4,9,7,1,6,2,8
  81. 2,9,7,6,8,3,4,1,5

  82. 5,8,7,1,9,6,2,4,3
  83. 1,3,4,2,7,5,8,9,6
  84. 9,6,2,8,3,4,1,5,7
  85. 3,1,6,4,5,2,9,7,8
  86. 2,9,8,7,1,3,4,6,5
  87. 7,4,5,6,8,9,3,1,2
  88. 8,5,9,3,4,7,6,2,1
  89. 4,2,1,5,6,8,7,3,9
  90. 6,7,3,9,2,1,5,8,4
复制代码



论坛徽章:
12
子鼠
日期:2014-10-11 16:46:482016科比退役纪念章
日期:2018-03-16 10:24:0515-16赛季CBA联赛之山东
日期:2017-11-10 14:32:142016科比退役纪念章
日期:2017-09-02 15:42:4715-16赛季CBA联赛之佛山
日期:2017-08-28 17:11:5515-16赛季CBA联赛之浙江
日期:2017-08-24 16:55:1715-16赛季CBA联赛之青岛
日期:2017-08-17 19:55:2415-16赛季CBA联赛之天津
日期:2017-06-29 10:34:4315-16赛季CBA联赛之四川
日期:2017-05-16 16:38:55黑曼巴
日期:2016-07-19 15:03:112015亚冠之萨济拖拉机
日期:2015-05-22 11:38:5315-16赛季CBA联赛之北京
日期:2019-08-13 17:30:53
52 [报告]
发表于 2017-09-11 22:01 |只看该作者
回复 49# sunzhiguolu

人品,这么多帖子下来,我提过你家谁?呵呵

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
53 [报告]
发表于 2017-09-11 22:03 |只看该作者
本帖最后由 sunzhiguolu 于 2017-09-11 22:05 编辑

说是你爱找借口 (抱歉)






论坛徽章:
12
子鼠
日期:2014-10-11 16:46:482016科比退役纪念章
日期:2018-03-16 10:24:0515-16赛季CBA联赛之山东
日期:2017-11-10 14:32:142016科比退役纪念章
日期:2017-09-02 15:42:4715-16赛季CBA联赛之佛山
日期:2017-08-28 17:11:5515-16赛季CBA联赛之浙江
日期:2017-08-24 16:55:1715-16赛季CBA联赛之青岛
日期:2017-08-17 19:55:2415-16赛季CBA联赛之天津
日期:2017-06-29 10:34:4315-16赛季CBA联赛之四川
日期:2017-05-16 16:38:55黑曼巴
日期:2016-07-19 15:03:112015亚冠之萨济拖拉机
日期:2015-05-22 11:38:5315-16赛季CBA联赛之北京
日期:2019-08-13 17:30:53
54 [报告]
发表于 2017-09-11 22:32 |只看该作者
本帖最后由 523066680 于 2017-09-11 22:33 编辑

回复 52# sunzhiguolu

解数独题,我写了照样发上来。就明天这个时候(之前),你行?

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
55 [报告]
发表于 2017-09-11 22:37 |只看该作者
回复 50# 523066680
你想发布数独代码也不必用这个形式搞吧,单独发个帖子多好。
另外,我想对你说
你若编写代码能力强,回帖质量高 我自然尊敬你
若是吹牛皮,损人的磕 其实我一点都不会输给你,只会比你更强。。。

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
56 [报告]
发表于 2017-09-11 22:41 |只看该作者
回复 53# 523066680
我记得解数独的话,应该分至少三个等级。(简单,中等,困难)
另外,数独自解的话 别忘了提供难度提示。最后要看下效能了,不知你行不行?

论坛徽章:
12
子鼠
日期:2014-10-11 16:46:482016科比退役纪念章
日期:2018-03-16 10:24:0515-16赛季CBA联赛之山东
日期:2017-11-10 14:32:142016科比退役纪念章
日期:2017-09-02 15:42:4715-16赛季CBA联赛之佛山
日期:2017-08-28 17:11:5515-16赛季CBA联赛之浙江
日期:2017-08-24 16:55:1715-16赛季CBA联赛之青岛
日期:2017-08-17 19:55:2415-16赛季CBA联赛之天津
日期:2017-06-29 10:34:4315-16赛季CBA联赛之四川
日期:2017-05-16 16:38:55黑曼巴
日期:2016-07-19 15:03:112015亚冠之萨济拖拉机
日期:2015-05-22 11:38:5315-16赛季CBA联赛之北京
日期:2019-08-13 17:30:53
57 [报告]
发表于 2017-09-11 23:26 |只看该作者
本帖最后由 523066680 于 2017-09-11 23:34 编辑

回复 55# sunzhiguolu

那也比你行。现在再看看这几句,这水平这见识,呵呵:
很好?
用 cmd 找找看哪些一周以前 尺寸在 1mb ~ 2mb 之前的图片有哪些?
将结果按照尺寸大小降序排序 尺寸一样的按照文件名升序排序。试试看?


论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
58 [报告]
发表于 2017-09-11 23:34 |只看该作者
回复 56# 523066680

你就吹牛逼行,看下你哪个 cmd 时间筛选 结果排序弄哪去了?
赶明改行吧,专门从事吹牛逼行业。

论坛徽章:
12
子鼠
日期:2014-10-11 16:46:482016科比退役纪念章
日期:2018-03-16 10:24:0515-16赛季CBA联赛之山东
日期:2017-11-10 14:32:142016科比退役纪念章
日期:2017-09-02 15:42:4715-16赛季CBA联赛之佛山
日期:2017-08-28 17:11:5515-16赛季CBA联赛之浙江
日期:2017-08-24 16:55:1715-16赛季CBA联赛之青岛
日期:2017-08-17 19:55:2415-16赛季CBA联赛之天津
日期:2017-06-29 10:34:4315-16赛季CBA联赛之四川
日期:2017-05-16 16:38:55黑曼巴
日期:2016-07-19 15:03:112015亚冠之萨济拖拉机
日期:2015-05-22 11:38:5315-16赛季CBA联赛之北京
日期:2019-08-13 17:30:53
59 [报告]
发表于 2017-09-11 23:36 |只看该作者
本帖最后由 523066680 于 2017-09-11 23:39 编辑

回复 57# sunzhiguolu

改什么行,我现在就是从事外贸,业余才写代码,那也比你强,哈哈

用不着你尊敬,我就是觉得你水平挺low的,比我low

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
60 [报告]
发表于 2017-09-11 23:39 |只看该作者
回复 58# 523066680

你在外贸行业屈才了,吹牛逼行业适合你。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP