1
我试图使用random.org计算真随机数的GCD并从文本文件中获取这些数字。这是一个使用我之前创建的PRNG来完成上述操作的程序。从文本文件读取并将信息放入数组
#!/usr/bin/perl
use strict;
use warnings;
my $range = 100;
my $gcdcount = 0;
sub gcd_iter($$) {
my ($u, $v) = @_;
while ($v) {
($u, $v) = ($v, $u % $v);
}
return abs($u);
}
for (my $count=0; $count<=5000; $count++) {
my $random_numx = int(rand($range));
my $random_numy = int(rand($range));
my @pair = ($random_numx, $random_numy);
if (gcd_iter($random_numx, $random_numy) == 1) {
$gcdcount++;
}
}
print "The GCD Count for PRNG #1 is $gcdcount\n";
我几乎做同样的事情,但从文本文件中获取数字。如何将这些数字对转换成可以将它们分配给变量的格式,以便在分割线条后将它们通过公式?以下是我迄今为止:
my $filename = 'xxxxx';
open(my $fh, $filename)
or die "Could not open file '$filename' $!";
sub gcd_iter($$) {
my ($u, $v) = @_;
while ($v) {
($u, $v) = ($v, $u % $v);
}
return abs($u);
}
for (my $count=0; $count<=5000; $count++) {
if (gcd_iter($) == 1) {
$gcdcount++;
}
}
while (my $row = <$fh>) {
chomp $row;
foreach ($row) {
my @pair = split('s+', $_);
}
}
非常好的答案。不过,我想你错过了一点点。 '@ pair'(或者'$ num1'和'$ num2')变量是词法变量,没有任何变化。 OP需要实际使用它,打印它或其他。 – simbabque