@All are these output's correct ??

288230376151711744      20164264869698944
144115188075855872      5130634330054016
72057594037927936       5130634330054016
36028797018963968       1306288411057536
18014398509481984       1306288411057536
9007199254740992        332818957147520
4503599627370496        332818957147520
2251799813685248        84859707399552
1125899906842624        84859707399552
562949953421312         21654400343424
281474976710656         21654400343424
140737488355328         5530598972800
70368744177664           5530598972800
35184372088832           1413883960704
17592186044416           1413883960704


On Tue, Dec 27, 2011 at 11:20 PM, sourabh singh <[email protected]>wrote:

> @all
>
> plz point out wat's wrong with this code. works for small numbers but
> fails for large number's
>
> #include<conio.h>
> #include<iostream>
> using namespace std;
> unsigned int find_nCp(unsigned int n,unsigned int p)
> {     unsigned int j=p;
>       unsigned int num=1,den=1;
>       for(;j;j--)
>                num*=n--;
>       for(;p;p--)
>                den*=p;
>       return (num/den);
> }
>
> unsigned int num(unsigned int n,unsigned int k)
> {
>             if(n==1 || k==0)
>                     return 1;
>             return  find_nCp(n,k) + num(n-2,(n-1)/2);
> }
> main()
> {     uint64_t n,p,test=1;
>       unsigned int t,i,sum,j;
>       scanf("%u",&t);
>       while(t--)
>       {         n=test<<t;
>                 scanf("%llu",&n);
>                 if(n<4)
>                        cout<<0<<endl;
>                 else
>                 {   for(p=1,i=0;p<=n;p=p<<1,i++);
>                     i=i-2;
>                     if(i%2==0)
>                     {
>                               i--;
>                     }
>                     cout<<num(i,i/2)<<endl;
>                     getch();
>                 }
>       }
>       return 0;
> }
>
>
> On Tue, Dec 27, 2011 at 10:33 AM, kumar rajat <[email protected]>wrote:
>
>> *I am not able to follow..
>>
>> On Tue, Dec 27, 2011 at 11:47 PM, kumar rajat <[email protected]>
>> wrote:
>> > @Lucifier:
>> > Thanks a lot..
>> > But,I am able to follow the code that u posted for Non-Decreasing
>> Digits.
>> > Can u jus explain ur algo instead of givin the code directly?
>> > Thanks once again.
>> >
>> > On Tue, Dec 27, 2011 at 10:44 PM, Lucifer <[email protected]>
>> wrote:
>> >> @ Special Nos..
>> >> Well the actual logic would be :
>> >> int count = 0;for ( int i = 2; i <= LOGbase2(N) ; i+=2)  count+=
>> >> [ (i-1) C (i/2) ] ; // here xCy is nothing but the no. of ways y items
>> >> can be selected from a collection of x items.
>> >> Hence, the working code:
>> >> int totalCount = 0;
>> >> int interCnt = 1;
>> >>
>> >> if ( LOGbase2(N) > 1)
>> >> {
>> >>  totalCount = 1; // for LOGbase2(N) = 2...
>> >>
>> >>  for ( int i = 4; i <= LOGbase2(N) ; i+=2)
>> >>  {
>> >>     interCnt = (i-1)*(i-2) * interCnt / ( i/2 * (i/2 -1));
>> >>      totalCount += interCnt;
>> >>
>> >>  }
>> >>  printf("%d", totalCount);
>> >> }
>> >> else
>> >>  printf("%d", 0);
>> >> On Dec 27, 7:38 pm, Tasvinder Singh <[email protected]> wrote:
>> >>> I think the first problem involves some mathematics...
>> >>> In this we fix the first bit and if the remaining no. of bits are odd
>> then
>> >>> we calculate the no. as follows
>> >>>
>> >>> If we have 2^4=16  then total bits 5 so we do not include this.
>> >>> Total no. of bits in one less than the given no. (in this eg. 15) is
>> 4.
>> >>> Fix first bit, no. of bits remaining = 3
>> >>> Now let 2 bits are 0 and one bit 1. We have total 3!/(2!*1!) = 3
>> >>> combinations.
>> >>>
>> >>> Now go for next even no which is 2 in this case again do the same
>> >>> Fix first bit, no. of bits remaining = 1
>> >>> Now let 1 bit is 0. We have total 1!/(0!*1!) = 1 combinations.
>> >>>
>> >>> Next even 0. stop here.
>> >>> You can go for this by starting from 2 till no. is less than given N
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> On Tue, Dec 27, 2011 at 7:28 PM, kumar rajat <[email protected]>
>> wrote:
>> >>> > Hi
>> >>> > I have jus started to learn DP and I have coded the standard
>> >>> > algorithms(LCS,etc).
>> >>> > I have been trying these problems in SPOJ:
>> >>>
>> >>> >http://www.spoj.pl/problems/NOVICE63/
>> >>> >http://www.spoj.pl/problems/NY10E/
>> >>>
>> >>> > I understand these may be solved elegantly using DP,but I dont get
>> to
>> >>> > code the same.
>> >>> > Can any1 help me how to solve these types of problems using DP?
>> >>> > Any help regarding the same will be greatly appreciated.
>> >>>
>> >>> > --
>> >>> > You received this message because you are subscribed to the Google
>> Groups
>> >>> > "Algorithm Geeks" group.
>> >>> > To post to this group, send email to [email protected].
>> >>> > To unsubscribe from this group, send email to
>> >>> > [email protected].
>> >>> > For more options, visit this group at
>> >>> >http://groups.google.com/group/algogeeks?hl=en.
>> >>>
>> >>> --
>> >>> Tasvinder Singh
>> >>> B.Tech Final Year,
>> >>> Department of Computer Engineering,
>> >>> Malaviya National Institute Of Technology, Jaipur.
>> >>> Contact: +91-9460627331
>> >>
>> >> --
>> >> You received this message because you are subscribed to the Google
>> Groups "Algorithm Geeks" group.
>> >> To post to this group, send email to [email protected].
>> >> To unsubscribe from this group, send email to
>> [email protected].
>> >> 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 [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> 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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to