@sagar, your method is correct for three digits, but since the
question says the length could be upto 1000, the MSD in those cases
will change
Eg. 23998 ====> 24997 and not 32998
So in your algo, "MSD" should be replaced by "while moving away from
tens, hundreds, thousands... and so on, the first digit which is not
9"
Also, the algo should return -1 if the above while loop doesn't
end(that is no non-9 digit is encountered) for cases like 999, 998,
99997 etc.



On Nov 8, 1:52 pm, sagar sindwani <sindwani.sa...@gmail.com> wrote:
> if ( ten's place is != 9)
> Decrement the unit place by 1 and increment the ten's place by 1.
> else
> Increment MSD(Most significant digit) by 1 and decrement next digit by 1.
>
> example:-
>
> 712  ====> 721
>
> 897  ====> 987
>
>
>
>
>
>
>
> On Sun, Oct 9, 2011 at 6:51 PM, wujin chen <wujinchen...@gmail.com> wrote:
> > @Navneet, i mean the length of N is less than 1000, not the value of N .
> > *so, N maybe cannot be represented in 32bit . 10^1000-1 is huge number~~
> > *
>
> > 2011/10/9 Navneet <navneetn...@gmail.com>
>
> >> sumOfDigits(i) - simply sums all the digits and returns the value.
> >> sortDigits() - takes a number and return the lowest possible number
> >> possible with digits of param passed.
> >> flag = false;
>
> >> for(int i=n+1, i < 1000; i++) //mention to go upto 1000 in problem
> >> {
> >> if(sumOfDigits(i) == sumOfDigits(n))
> >> {
> >> //a candidate
> >> int sorted i = sortDigits(i);
> >> int sorted n = sortDigits(n);
> >> if(i == n)
> >> {
> >> //we found one
> >> cout<<"\nDesired number is "<<i<<endl; //may abort or continue to find
> >> more
> >> flag = true;
> >> }
> >> }
> >> if(!flag)
> >>  cout<<"\nNo such number found"<<endl;
> >> }
>
> >> On Oct 9, 5:04 pm, wujin chen <wujinchen...@gmail.com> wrote:
> >> > @Aamir , yes, for some N, it will be no ans, then return -1.
>
> >> > 2011/10/9 Aamir Khan <ak4u2...@gmail.com>
>
> >> > > Answer won't be possible in for each N. What would be answer for
> >> N=999 ?
>
> >> > > On Sun, Oct 9, 2011 at 4:22 PM, Ankur Garg <ankurga...@gmail.com>
> >> wrote:
>
> >> > >> Is it sum of bits or sum of digits ?
>
> >> > >> On Sun, Oct 9, 2011 at 1:39 PM, wujin chen <wujinchen...@gmail.com
> >> >wrote:
>
> >> > >>> Given a positive number N, find a minimum number M greater than N,
> >> M  has
> >> > >>> the same length with N and the sum of the bits are equal.
>
> >> > >>> example:
> >> > >>> N=134 , M=143,  // 1+3+4=1+4+3
> >> > >>> N=020, M = 101, //2=1+1
>
> >> > >>> the length of N is less than 1000.
>
> >> > >>>  --
> >> > >>> 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.
>
> >> > > --
> >> > > Aamir Khan | 3rd Year  | Computer Science & Engineering | IIT Roorkee
>
> >> > >  --
> >> > > 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.
>
> >  --
> > 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.

Reply via email to