Monday, 13 March 2017

Number Magic in C programming

/*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++)
  {
   a=i & f;
   if(a==f)
     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....");
  if(ch[j]=='p' || ch[j]=='P')
  {
   num[j]=1;
   n=fun(j);
   r=r+n;
  }
  else
  num[j]=0;
  getch();
  clrscr();
 }


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

No comments:

Post a Comment