小小练习题

没看懂,此题有误,鉴定完毕,罚你自己给出解答
楼主搞货币研究的?
理解错误



QUOTE:
原帖由 hitsubunnu 于 2008-7-25 00:51 发表
感觉是   乘以或除以 小于1000的素数

而且乘或除后的结果 小于1000

不知道说的是这个意思不?


foreach $num (1 .. 1000) {
    @expr = map { '$_ % ' . $_ . ' &&' } 2 .. int sqrt $num;
     ...

更加不明白了,应该是 乘以或除以 2,5,10,20..........,使得结果最接近于1000吧


QUOTE:
更加不明白了,应该是 乘以或除以 2,5,10,20..........,使得结果最接近于1000吧



[Copy to clipboard] [ - ]
CODE:
use strict;

my $input = $ARGV[0];
print "INPUT:$input\n";
my $inum=1;
my @arr = ();
my @new = ();

for my $num (map{ 10 ** $_ }(0..1000)){
        @arr = map{$_ * $num} qw(1 2 5);
        for(map{ $_ * $input }@arr){
                if ($_ < 1000){
                        print "$_\t";
                }else{
                        last;
                }
                print "\n" if (($inum % 3) eq 0);
                $inum++       
        }
}



[Copy to clipboard] [ - ]
CODE:
INPUT:3
3        6        15       
30        60        150       
300        600       

想不通,如果不限制1,2,5,10,20,50,100,200,500....这些数字的使用次数的话, 我们设该正数为N,则如果要变N通过乘法或除法操作变成999,则需要让用若干个2和5组成的分数使之无限逼近N/999,这个应该可以逼的很近了,如果实在不行,在向998逼近,应该就没问题了.所以我认为无论是什么样的正数N,最后得到的数要么是999,要么是998.