Trying the combinations is not necessary. See my solution above.
Don

On Dec 13, 3:59 pm, Gaurav Kumar <gkuma...@gmail.com> wrote:
> Thanks for pointing out the issue with my logic. What I am wondering is
> what is the general solution to finding the number of possible numbers? Is
> the only way is to try these combinations? Please share if you know.
>
> Gaurav
>
> On Tue, Dec 13, 2011 at 1:56 PM, Gaurav Kumar <gkuma...@gmail.com> wrote:
>
> > On Tue, Dec 13, 2011 at 12:40 PM, Don <dondod...@gmail.com> wrote:
>
> >> That gives an answer of 40,320, but the correct answer is 39. You
> >> can't multiply all of those values together and expect to get the
> >> right answer. There are not 14 possible values for the first digit,
> >> and if there were, for any particular value of the first digit there
> >> are not 16 possible values for the second digit, there are only one or
> >> two. Your mistake is treating each digit as if it is independent of
> >> the rest of the number, but it is not. Try several input cases and see
> >> if your method gives a reasonable result. For example, if n=10 and the
> >> absolute differences are {6,6,6,6,6,6,6,6,6}, by your thinking there
> >> would be 4^9=262,144 possible numbers. In reality, the only possible
> >> numbers are
> >> 1717171717
> >> 2828282828
> >> 3939393939
> >> 6060606060
> >> 7171717171
> >> 8282828282
> >> 9393939393
>
> >> If your algorithm gives an answer other than 7, keep working on it.
>
> >> Don
>
> >> On Dec 13, 1:46 pm, Gaurav Kumar <gkuma...@gmail.com> wrote:
>
> >> > 3 2 5 1 so the total number of numbers possible are (10-3) x 2 x (10-
> >> 2) x
> >> > 2 x (10 -5 ) x 2 x (10 - 1 ) x 2
>
> >> > In case when you have 0 0 0 as the difference, possible combinations are
> >> > (10 - 0) x 2 / 2 x 1 way x 1 way = 10 ways
>
> >> > Gaurav
>
> >> > On Tue, Dec 13, 2011 at 10:55 AM, Gaurav Kumar <gkuma...@gmail.com>
> >> wrote:
> >> > > When the difference is 0, the numbers will be repeated:
> >> > > 000, 111, 222, 333, 444, 555, 666, 777, 888, 999 but only these are
> >> > > possible.
>
> >> > > Gaurav
>
> >> > > On Tue, Dec 13, 2011 at 10:47 AM, Don <dondod...@gmail.com> wrote:
>
> >> > >> Moheed,
> >> > >> If n=3 and absdiff = {0,0}, your program says that there are 100
> >> > >> possible numbers. Can you show me at least 10 of them?
> >> > >> Don
>
> >> > >> On Dec 13, 12:24 pm, Moheed Moheed Ahmad <mohe...@gmail.com> wrote:
> >> > >> > To get a abs difference of 0 there are 10 ways
> >> > >> > similarly getting abs difference of 1 there are 9x2 ways(w1)
> >> > >> > for 2 its 8x2 (say w(2)
> >> > >> > for 3 its 7x2
> >> > >> > .....
> >> > >> > for 9 its 1x2(w9)
> >> > >> > let w(i) represents the number of ways to get abs diff of i.
> >> > >> > So total numbers that are possible from the given abs diff   i j k
> >> l m
> >> > >> ...
> >> > >> > (w(i) x w(j) x w(k) x w(l) x.....)
>
> >> > >> > Now algo will be to scan the given abs diff and multiply the w(i)
> >> for
> >> > >> each
> >> > >> > absdiff .
>
> >> > >> > int calculate_possible_nums(int absdiff[], int len){
> >> > >> >     int ways[]={10, 18, 16, 14, 12, 10, 8, 6, 4, 2, 1};
> >> > >> >     int numways=1;
> >> > >> >     for ( i=0; i < len; i++){
> >> > >> >          numways = numways * ways[absdiff[i]];
> >> > >> >     }
> >> > >> >      return numways;}
>
> >> > >> > -Moheed
> >> > >> > 'If a man neglects education, he walks lame to the end of his
> >> life.'
>
> >> > >> > On Tue, Dec 13, 2011 at 11:20 PM, Don <dondod...@gmail.com> wrote:
> >> > >> > > There should be 39 combinations with that input. You are missing
> >> > >> > > numbers which include the digit zero, such as 14610, 30278, and
> >> 52056.
>
> >> > >> > > Don
>
> >> > >> > > On Dec 13, 11:37 am, tech coder <techcoderonw...@gmail.com>
> >> wrote:
> >> > >> > > > I tried the problem and written the code for it . it is in
> >> java. it
> >> > >> is
> >> > >> > > > printing all the possible numbers
> >> > >> > > > I  am treating the differences ans an array of integers.
>
> >> > >> > > > here is the code
>
> >> > >> > > > public class Main {
>
> >> > >> > > >     public static void main(String[] args)
> >> > >> > > >     {
> >> > >> > > >        int digit[]={3,2,5,1};// array of absolute differences
>
> >> > >> > > >             int digit[]={3,2,5,1};
> >> > >> > > >            for(int num=1;num<=9;num++) // call with all
> >> possible
> >> > >> initial
> >> > >> > > > numbers
> >> > >> > > >            findNumber(digit,4,num,0,num);
> >> > >> > > >     }
>
> >> > >> > > >     public static void findNumber(int digit[],int n,int num,int
> >> > >> i,int
> >> > >> > > > oldDigit)
> >> > >> > > >     {
> >> > >> > > >         if(i==n)
> >> > >> > > >         {
> >> > >> > > >             System.out.print(num+"  ");
> >> > >> > > >             return;
> >> > >> > > >         }
>
> >> > >> > > >         {
> >> > >> > > >             int o=digit[i]+oldDigit;
> >> > >> > > >             if(o<10)
> >> > >> > > >                 findNumber(digit,n,10*num+o,i+1,o);
> >> > >> > > >             o=oldDigit-digit[i];
> >> > >> > > >             if(o>0)
> >> > >> > > >                 findNumber(digit,n,10*num+o,i+1,o);
>
> >> > >> > > >         }
> >> > >> > > >     }
>
> >> > >> > > > }
>
> >> > >> > > > and here is the output
>
> >> > >> > > > 14612  14278  14276  25723  25721  25389  25387  36834  36832
> >>  36498
> >> > >> > >  47945
> >> > >> > > >  47943  41389  41387  58612  52498  69723  69721  63167  63165
> >> > >>  74612
> >> > >> > > >  74278  74276  85723  85721  85389  85387  96834  96832  96498
> >> > >> > > > BUILD SUCCESSFUL (total time: 0 seconds)
>
> >> > >> > > > On Tue, Dec 13, 2011 at 11:11 PM, Dave <
> >> dave_and_da...@juno.com>
> >> > >> wrote:
> >> > >> > > > > @Amir: Presumably, since these are digits in a number, they
> >> are
> >> > >> > > > > bounded on the bottom by 0 and on the top by radix-1. So in
> >> > >> decimal,
> >> > >> > > > > if a digit is 7 and the absolute difference between it and
> >> the
> >> > >> next
> >> > >> > > > > digit is 3, there is only one possibility for the next
> >> digit, 7-3
> >> > >> = 4,
> >> > >> > > > > since 7+3 is too large. So only some subset of the 2^(n-1)
> >> > >> > > > > combinations of addition and subtraction may be possible.
>
> >> > >> > > > > Dave
>
> >> > >> > > > > On Dec 13, 4:15 am, Amir hossein Shahriari
> >> > >> > > > > <amir.hossein.shahri...@gmail.com> wrote:
> >> > >> > > > > > actually there are infinite number of sequences that match
> >> it
> >> > >> > > > > > for example if the absolute differences are 3 2 5 1
> >> > >> > > > > > one possible sequence is 6 3 5 0 1 one other is 7 4 6 1 2
> >> or 8
> >> > >> 5 7 2
> >> > >> > > 3
> >> > >> > > > > > and you can add any integer value to all elements and the
> >> > >> result will
> >> > >> > > > > still
> >> > >> > > > > > be valid
> >> > >> > > > > > actually you can start with any number and and then the
> >> second
> >> > >> number
> >> > >> > > > > will
> >> > >> > > > > > be equal to the first number that you chose plus/minus the
> >> first
> >> > >> > > absolute
> >> > >> > > > > > difference and so on
>
> >> > >> > > > > > so if we are given the first element of the sequence there
> >> are
> >> > >> > > 2^(n-1)
> >> > >> > > > > ways
> >> > >> > > > > > to find a valid sequence because for each absolute
> >> difference
> >> > >> we can
> >> > >> > > > > either
> >> > >> > > > > > add the absolute difference to the last sequence element or
> >> > >> subtract
> >> > >> > > the
> >> > >> > > > > > absolute difference from it
>
> >> > >> > > > > > On Mon, Dec 12, 2011 at 9:01 PM, KAY <
> >> > >> amulya.manches...@gmail.com>
> >> > >> > > > > wrote:
> >> > >> > > > > > > If for a number n digits long, the absolute difference
> >> between
> >> > >> > > > > > > adjacent digits is given, how to find out the number of
> >> > >> different
> >> > >> > > > > > > numbers with these absolute differences ?
>
> >> > >> > > > > > > for eg,
> >> > >> > > > > > > if n=5
> >> > >> > > > > > > and the absolute differences are
> >> > >> > > > > > > 3 2 5 1
> >> > >> > > > > > > then 1 possible number is
> >> > >> > > > > > > 6 3 5 0 1    (because |6-3|=3,|3-5|=2 and so on...)
>
> >> > >> > > > > > > How many such numbers will be there?
>
> >> > >> > > > > > > --
> >> > >> > > > > > > You received this message because you are subscribed to
> >> the
> >> > >> Google
> >> > >> > > > > Groups
> >> > >> > > > > > > "Algorithm Geeks" group.
> >> > >> > > > > > > To post to this group, send email to
> >> > >> algogeeks@googlegroups.com.
> >> > >> > > > > > > To unsubscribe from this group, send email to
> >> > >> > > > > > > algogeeks+unsubscr...@googlegroups.com.
> >> > >> > > > > > > For more options, visit this group at
> >> > >> > > > > > >http://groups.google.com/group/algogeeks?hl=en.
>
> >> > >> > > > > --
> >> > >> > > > > You received this message because you are subscribed to the
> >> Google
> >> > >> > > Groups
> >> > >> > > > > "Algorithm Geeks" group.
> >> > >> > > > > To post to this group, send email to
> >> algogeeks@googlegroups.com.
> >> > >> > > > > To unsubscribe from this group, send email to
> >> > >> > > > > algogeeks+unsubscr...@googlegroups.com.
> >> > >> > > > > For more options, visit this group at
> >> > >> > > > >http://groups.google.com/group/algogeeks?hl=en.
>
> >> > >> > > > --
> >> > >> > > > *
>
> >> > >> > > >  Regards*
> >> > >> > > > *"The Coder"*
>
> >> > >> > > > *"Life is a Game. The more u play, the more u win, the more u
> >> win ,
> >> > >> the
> >> > >> > > > more successfully u play"*
>
> >> > >> > > --
> >> > >> > > You received this message because you are subscribed to the
> >> Google
> >> > >> Groups
> >> > >> > > "Algorithm Geeks" group.
> >> > >> > > To post to this group, send email to algogeeks@googlegroups.com.
> >> > >> > > To unsubscribe from this group, send email to
> >> > >> > > algogeeks+unsubscr...@googlegroups.com.
> >> > >> > > For more options, visit this group at
> >> > >> > >http://groups.google.com/group/algogeeks?hl=en.
>
> >> > >> --
> >> > >> You received this message because you are subscribed to the Google
> >> Groups
> >> > >> "Algorithm Geeks" group.
> >> > >> To post to this group, send email to algogeeks@googlegroups.com.
> >> > >> To unsubscribe from this group, send email to
> >> > >> algogeeks+unsubscr...@googlegroups.com.
> >> > >> For more options, visit this group at
> >> > >>http://groups.google.com/group/algogeeks?hl=en.
>
> ...
>
> read more »

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to