• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 158
  • Last Modified:

No one will get this one!!!


             
3 Write a program to solve the following problem.  Use an array to model the
  safety deposit box vault.  Initialize the boxes as described below.

              ===========================================
                         SAFETY DEPOSIT BOXES
              ===========================================

  There has been a run at the local savings and loan.  One thousand depositors
  have lined up in a very long vault with 1000 _CLOSED_ safety deposit boxes.
  One by one the depositors run through the vault.  The first depositor opens
  every box.  The second depositor goes to every second box and closes it.  
  The third depositor goes to every third box and changes it (if open, closes
  it; if closed, open it).  In a similiar manner, every fourth, fifth, sixth,
  ... depositor changes every fourth, fifth, sixth, ... box.  After all 1000
  depositors have passed through the vault, which boxes are left open?

0
myoreorex
Asked:
myoreorex
  • 2
1 Solution
 
maneshrCommented:
try this..........

the results are really amazing!! all the boxes that are open are squares of numbers!!
==================amazin.pl

#!/usr/local/bin/perl

##  initalize all the boxes
##  0=closed, 1=open
foreach (0..999){
  $box[$_]=0;
}

foreach $user (1..1000){  ##  For every investor..
  print $user,"\n";
  foreach($[ .. $#box){
    $ctr=$_+1;
    if (($ctr % $user) == 0){
    print "\t",$ctr,"\n";
      if ($box[$_]){
        $box[$_]=0;
      }else{
        $box[$_]=1;
      }
    }
  }
}

print "box #'s that are open \n";
foreach($[ .. $#box){
  if ($box[$_]){
    $box_no=$_+1;
    print $box_no,"\n";
  }
}
0
 
myoreorexAuthor Commented:
Thanks...I forgot about the foreach..........

Michelle
0
 
myoreorexAuthor Commented:
Thanks...I forgot about the foreach!!!


michelle
0

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now