Fabrizio Pivari > Math-MagicSquare-2.04 > Math::MagicSquare

Download:
Math-MagicSquare-2.04.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 2.04   Source  

NAME ^

Math::MagicSquare - Magic Square Checker and Designer

SYNOPSIS ^

  use Math::MagicSquare;

  $a= Math::MagicSquare -> new ([num,...,num],
                                 ...,
                                [num,...,num]);
  $a->print("string");
  $a->printhtml();
  $a->printimage();
  $a->check();
  $a->rotation();
  $a->reflection();

DESCRIPTION ^

The following methods are available:

new

Constructor arguments are a list of references to arrays of the same length.

    $a = Math::MagicSquare -> new ([num,...,num],
                                    ...,
                                   [num,...,num]);

check

This function can return 4 value

print

Prints the Square on STDOUT. If the method has additional parameters, these are printed before the Magic Square is printed.

printhtml

Prints the Square on STDOUT in an HTML format (exactly a inside a TABLE)

printimage

Prints the Square on STDOUT in png format.

rotation

Rotates the Magic Square of 90 degree clockwise

reflection

Reflect the Magic Square

REQUIRED ^

GD perl module.

EXAMPLE ^

    use Math::MagicSquare;

    $A = Math::MagicSquare -> new ([8,1,6],
                                   [3,5,7],
                                   [4,9,2]);
    $A->print("Magic Square A:\n");
    $A->printhtml();
    $i=$A->check();
    if($i == 2) {print "This is a Magic Square.\n";}
    $A->rotation();
    $A->print("Rotation:\n");
    $A->reflection();
    $A->print("Reflection:\n");
    $A->printimage();

 This is the output:
    Magic Square A:
        8     1     6 
        3     5     7 
        4     9     2 
    <TABLE border=3 width="2" height="2" cellpadding=1 cellspacing=1>
    <TR>
    <TD align=right><FONT size=+2><B>8</B></font></TD>
    <TD align=right><FONT size=+2><B>1</B></font></TD>
    <TD align=right><FONT size=+2><B>6</B></font></TD>
    </TR>
    <TR>
    <TD align=right><FONT size=+2><B>3</B></font></TD>
    <TD align=right><FONT size=+2><B>5</B></font></TD>
    <TD align=right><FONT size=+2><B>7</B></font></TD>
    </TR>
    <TR>
    <TD align=right><FONT size=+2><B>4</B></font></TD>
    <TD align=right><FONT size=+2><B>9</B></font></TD>
    <TD align=right><FONT size=+2><B>2</B></font></TD>
    </TR>
    </TABLE>
    This is a Magic Square.
    Rotation:
        4     3     8 
        9     5     1 
        2     7     6
    Reflection:
        8     3     4
        1     5     9
        6     7     2

AUTHOR ^

 Fabrizio Pivari fabrizio@pivari.com
 http://www.pivari.com/

Copyright ^

 Copyright 2003, Fabrizio Pivari fabrizio@pivari.com
 This library is free software; you can redistribute it and/or modify it under
 the same terms as Perl itself. 
 Are you interested in a Windows cgi distribution?
 Test http://www.pivari.com/squaremaker.html and contact me.

Availability ^

 The latest version of this library is likely to be available from:
 http://www.pivari.com/magicsquare.html
 and at any CPAN mirror

Information about Magic Square ^

 Do you like Magic Square?
 Do you want to know more information about Magic Square?
 Try to visit
A very good introduction on Magic Square

http://mathworld.wolfram.com/MagicSquare.html

Whole collections of links and documents in Internet

http://mathforum.org/alejandre/magic.square.html http://mathforum.org/te/exchange/hosted/suzuki/MagicSquare.html

A good collection of strange Magic Square

http://www.geocities.com/pivari/examples.html

syntax highlighting: