• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Permutations

 
ashok mandala
Greenhorn
Posts: 9
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi frnds i need help for the below problem

consider a permutation of first 'N' natural numbers 'good' if it doesn't have 'x' and 'x+1' appearing consecutively,
where (1 <= x <= N).
for example, for N=3, all 'good' permutations are:
1. {1,3,2}
2. {2,1,3}
3. {3,2,1}
Write a java program that takes an input 'N' and displays the number of possible 'good' permutations. So, for input
of 3 for 'n' above, we would print '3' as the output.
 
Suresh Sajja
Ranch Hand
Posts: 34
Java
  • Likes 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
ashok mandala wrote:hi frnds i need help for the below problem

consider a permutation of first 'N' natural numbers 'good' if it doesn't have 'x' and 'x+1' appearing consecutively,
where (1 <= x <= N).
for example, for N=3, all 'good' permutations are:
1. {1,3,2}
2. {2,1,3}
3. {3,2,1}
Write a java program that takes an input 'N' and displays the number of possible 'good' permutations. So, for input
of 3 for 'n' above, we would print '3' as the output.


why not {2,3,1} is good permutation?
 
ashok mandala
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
we are considering that the permutation will be good if it doesn't have consecutive numbers........
 
Suresh Sajja
Ranch Hand
Posts: 34
Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Oh! i misread you original post.

I would approach this problem in two steps,

1. To come up with a algorithm that generate all the permutations of N numbers
2. filter the list to hold only good permutations



 
Campbell Ritchie
Sheriff
Pie
Posts: 49849
70
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Welcome to the Ranch

Read Suresh Sajja’s post carefully; it contains good advice. I would suggest you filter each permutation before adding it to your list, however.
Please don’t use {} around your numbers, because that denotes a set. Use [] for a sequence. So [1, 2, 3] is a “bad” sequence and [3, 2, 1] is a “good” sequence.
 
ashok mandala
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
i got the logic for first step...
but dont know how to filter.....
help me out..........
 
fred rosenberger
lowercase baba
Bartender
Posts: 12186
34
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
ashok mandala wrote:i got the logic for first step...
but dont know how to filter.....
help me out..........

How do YOU, personally, decide if a sequence is valid or not? Let's say I gave you this:

[2,5,3,4,1]

Is that 'good', or 'bad'? How do you know? can you write down the steps that an 8-year old child could follow to determine this?

The most important part of writing code does not involve your computer, but your brain + pencil + paper.
 
mohammed irfan
Greenhorn
Posts: 2
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
according to this question a good permutation is,that doesn't have consecutive increasing numbers side by side...
for input 3 we can only have {[1,3,2],[3,1,2],[2,1,3],[3,2,1]} but we cant have {[1,2,3],[2,3,1],[]} i.e we can't have x,x+1 type arrangements....
 
Campbell Ritchie
Sheriff
Pie
Posts: 49849
70
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Welcome to the Ranch , Mohammed Irfan.
 
mohammed irfan
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thnq Campbell Ritchie...!!!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic