How make a letter ABC to ACB, BCA,....etc

Discussion in 'Perl Misc' started by phal, Sep 8, 2005.

1. phalGuest

Dear all guru
I have a problem in writing a Perl program to make a combination of
letter which user type in.

Type in= ABCD

Output:
ABCD
ABDC
ACBD
ADBC
ADCB
ACDB

BACD
BADC
BDAC
BCAD
BDCA
BCDA

CABD
CADB
CDBA
CBAD
CBDA
CDAB

DABC
DBAC
DACB
DCAB
DBCA
DCBA

The rule is that, if user type in only 3 letters so it will make a
possible combination by 1*2*3 which is 6 conbination. On the above
example, it is 1*2*3*4=24

Thank very much for your help

Take care

phal, Sep 8, 2005

2. Sherm PendleyGuest

"phal" <> writes:

> I have a problem in writing a Perl program to make a combination of
> letter which user type in.
>
> Type in= ABCD
>
> Output:
> ABCD
> ABDC

What you want to do is called "permutation". Sometimes knowing the keyword to
search for can make all the difference. With that in mind, Google for "perl
permutation algorithm", or go to <http://search.cpan.org> and search for
"permutation".

sherm--

--
Cocoa programming in Perl: http://camelbones.sourceforge.net
Hire me! My resume: http://www.dot-app.org

Sherm Pendley, Sep 8, 2005

3. SisyphusGuest

"phal" <> wrote in message

>
> The rule is that, if user type in only 3 letters so it will make a
> possible combination by 1*2*3 which is 6 conbination. On the above
> example, it is 1*2*3*4=24
>

Use Algorithm:ermute or Algorithm::FastPermute (from cpan).

Cheers,
Rob

Sisyphus, Sep 8, 2005
4. phalGuest

thank very, for the information

Pal

phal, Sep 8, 2005

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.