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