Board logo

标题: [原创代码] 平分时钟推广到12的倍数 [打印本页]

作者: sxw    时间: 2011-10-9 15:32     标题: 平分时钟推广到12的倍数

可以处理12的倍数,写的很乱,到了720就变得很慢了:
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. print "请输入12的倍数:";
  5. chomp (my $digit=<STDIN>);
  6. use List::Util qw(sum);
  7. my $i=1;
  8. my $half_digit=$digit/2;
  9. my $half_sum=sum(1..$digit)/2;
  10. my $half_1=$half_sum+1;
  11. while ($i <= $half_1) {
  12. my $result=sum($i++..$half_digit++);
  13. print join " ",$i-1..$half_digit-1 if $half_sum==$result;
  14. }
  15. print "\n\n\n";
  16. $i=$digit/2+2;
  17. $half_digit=$digit/2;
  18. while ($i<=$digit) {
  19. my $result=sum(1..$digit)-sum($i-$half_digit..$i-1);
  20. my @num=($i..$digit);
  21. print join " ",@num,1..$half_digit-@num if $half_sum==$result;
  22. $i++;
  23. }
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2