# 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?

###### Who is Participating?

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Commented:
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

Experts Exchange Solution brought to you by

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Author Commented: