Advertisement
Jonas_3k

/*- WNRUT - What number are you thinking v4-*/

Oct 28th, 2018
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.61 KB | None | 0 0
  1. #include<stdio.h>
  2. char *Pergunta_da_vez[]={"O numero que esta pensando e [I]mpar ou [P]ar?: ",
  3.                          "Realizando uma operacao de divisao por dois o resultado seria [I]mpar ou [P]ar? :",
  4.                          "Na resposta anterior o resultado foi impar, agora.\
  5.                         \nCaso seja subtraido um do numero atual e o resultado dividido por dois, \no resultado seria [I]mpar ou [P]ar?:",
  6.                          "Voce nao realizou nehuma operacao anteriormente,ha algo que preciso saber.\nEste numero e diferente de um [S]im ou [N]ao?: ",
  7.                          "Este numero e diferente de um [S]im ou [N]ao?: ",
  8.                          "Para agilizar a descoberta responta, este numero seria maior a qual potencia de dois? \n\t\t\t[ 0 - 8 - 16 - 32 - 64 - 128 - N]\nDigite:",
  9.                          "Caso seja subtraido o valor %d o resultado seria [I]mpar ou [P]ar?: "};
  10. int  variada=5;
  11.  
  12. int pot(int i, int x)
  13. {
  14.     if(x ==0 ) return 1;
  15.     else return i*pot(i,x-1);
  16. }
  17. int Facilitadora(int *Soma)
  18. {
  19.     int potencia,resultado=1,conta=0;
  20.     printf(Pergunta_da_vez[5]);
  21.     scanf("%d",&potencia);
  22.     do
  23.     {
  24.         resultado = pot(2,conta);
  25.         conta++;
  26.     }while(potencia > resultado);
  27.     variada = 6;
  28.     *Soma = resultado;
  29.     return resultado;
  30.  
  31. }
  32.  
  33.  
  34. int RealizaPerguntas(int valor)
  35. {
  36.     char opcao;
  37.     printf(Pergunta_da_vez[variada],valor);
  38.     scanf(" %c",&opcao);
  39.     switch(opcao)
  40.     {
  41.         case 'i':
  42.         case 'I':
  43.         {
  44.             if(variada==0)
  45.             {
  46.                 variada = 3;
  47.                 RealizaPerguntas(0);
  48.             }
  49.             else
  50.             {
  51.                 variada = 4;
  52.                 RealizaPerguntas(0);
  53.             }
  54.             return 1;
  55.             break;
  56.         }
  57.  
  58.         case 'p':
  59.         case 'P':
  60.         {
  61.             variada = 1;
  62.             return 0;
  63.             break;
  64.         }
  65.         case 's':
  66.         case 'S':
  67.         {
  68.             variada = 2;
  69.             break;
  70.         }
  71.         case 'n':
  72.         case 'N':
  73.         {
  74.             return 2;
  75.             break;
  76.         }
  77.  
  78.     }
  79.  
  80. }
  81.  
  82. int RealizaContas(int conta,int soma)
  83. {
  84.     int x,i=1,y=0;
  85.     i = i<<conta;
  86.     if(variada==5) y=Facilitadora(&soma);
  87.     x= RealizaPerguntas(y);
  88.     if(x==2) return soma;
  89.     soma = soma + x*i;
  90.     RealizaContas(conta+1,soma);
  91. }
  92.  
  93.  
  94. main()
  95. {
  96.     int valor;
  97.     printf("\n\t\t\t Bem vindo ao WRUT: \nA partir de alguns procedimentos matematicos seu numero sera desoberto.\n");
  98.     valor = RealizaContas(0,0);
  99.     printf("Talvez voce estivesse pensando em %d ",valor);
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement