Таинственное «неинициализированное значение в массиве» в алгоритме для вызова Perl - PullRequest
3 голосов
/ 11 июля 2011

В настоящее время изучает Perl и пытается решить небольшую задачу, чтобы найти сумму четных слагаемых из первых 4 000 000 слагаемых Фибоначчи. Я создал массив Фибоначчи, который, кажется, работает, а затем попробовал различные методы, чтобы выбросить нечетные термины, и постоянно сталкивался с ошибкой при попытке суммировать полученный массив, получая отчеты:

Use of uninitialized value in addition (+) at prob2_3.plx line 23

Вот что у меня есть:

#!/usr/bin/perl -w
# prob2_2.plx
use warnings;
use strict;

my @fib; my $i; my $t; my $n;
@fib = (1, 2);



for ($i=2; $i<4000000; $i++)  {
  my $new= ( $fib[$i-1] + $fib[$i-2] );
  push @fib, $new;}


for ($t=3; $t<4000000; $t++)  {
  if (($fib[$t] % 2) != 0 ) {
  delete $fib[$t];  }  }

my $total = 0;

for ($n=1; $n<$#fib; $n++) {
$total += $fib[($n+1)];}  

print  $total;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...