Monday, April 2, 2012

Number Magic in C.

Number Magic in C.

#include<stdio.h>
#include<conio.h>
int generate(void);
int fun(int);
void main()
{
 int i,a,r;
 clrscr();
 gotoxy(30,12);
 printf("Welcome You!

            IN THE JARGON OF A NUMBER..");
 printf("







                     Press any key to continue....");
 getch();
 clrscr();
 gotoxy(15,8);
 printf("Just think a number between 1 to 63 in your mind");
 printf("

                  Think on one

            ");
 printf("Do not enter that number");
 printf("

            I will find that number on your mind....");
 printf("






                         Press any key to continue...");
 getch();
 clrscr();
 gotoxy(20,7);
 printf("By Just answering few questions....");
 printf("



    If your number is present in the numbers");
 printf(" shown on your screen,

        Then press P and if not present");
 printf(" then press N


    ");
 printf(" But please be honest while entering the answer...");
 printf("




                        Press any key to continue...");
 getch();
 clrscr();
 r=generate();
 if(r==0)
 {
  gotoxy(20,11);
  printf("You didn't think of any number between 1 to 63");
  printf("


                 So try again...");
 }
 else
 {
 gotoxy(30,11);
 printf("Your number is %d",r);
 printf("


Surprised! But friends it is not a magic,");
 printf(" it just involves some mathematical computation....");
 printf(" so guys just try to find out the method.


                ");
 printf(" Thank You!

                            ");
 getch();
}

int generate()
{
 int a,i,j,f,num[6],n,r=0;
 char ch[6];
 for(j=0;j<=5;j++)
 {
  gotoxy(1,7);
  f=fun(j);
  for(i=1;i<=63;i++)
  {
   //f=fun(j);
   //printf("%d",f);
   a=i & f;
   if(a==f)
   //gotoxy(5,10);
   printf("    %d",i);

  }
  printf("



  Let me remind you if the number is present then");
  printf(" press P otherwise press N");
  printf("


         Enter your answer:    ");

  ch[j]=getche();
  printf("


                        Press any key to continue....");
  //clrscr();
  if(ch[j]=='p' || ch[j]=='P')
  {
   num[j]=1;
   n=fun(j);
   r=r+n;
  }
  else
  num[j]=0;
  getch();
  clrscr();
 }
/* for(j=5;j>=0;j--)
 {
 printf("%d",num[j]);

 // if(ch[j]=='p' || ch[j]=='P')
 // num[j]=1;
 // else
 // num[j]=0;
 } */
// printf("
%d",r);
 return r;
}

int fun(int j)
{
 if(j==0)
 return 1;
 else
 return 2*fun(j-1);
}

No comments:

Post a Comment