GeeksforGeeks

cele mai multe dintre geeks dintr-un CS (Informatică) fundal, cred că de primul lor proiect după ce a făcut un limbaj de programare. Aici, veți obține primul dvs. proiect și cel de bază, în acest articol.

sarcină: mai jos sunt pașii:

  • construi un număr ghicitul joc, în care utilizatorul selectează o gamă.
  • să presupunem că utilizatorul a selectat un interval, adică de la A la B, unde a și B aparțin întregului.
  • un număr întreg aleatoriu va fi selectat de sistem și utilizatorul trebuie să ghicească acel număr întreg în numărul minim de presupuneri

analiză:

explicație 1: dacă intrările utilizatorului variază, să spunem de la 1 la 100. Și compilator selectat aleatoriu 42 ca întreg. Și acum jocul ghicitul a început, astfel încât utilizatorul a intrat 50 ca prima lui/ei ghici. Compilatorul arată „încercați din nou! Ai ghicit prea mare”. Asta înseamnă că numărul aleatoriu (adică 42) nu se încadrează în intervalul de la 50 la 100. Aceasta este importanța de a ghici jumătate din gamă. Și din nou, utilizatorul ghicește jumătate din 50 (ați putea să-mi spuneți de ce?). Deci jumătate din 50 este 25. Utilizatorul introduce 25 ca a doua presupunere. De data aceasta compilator va arăta, ” încercați din nou! Ai ghicit prea mic”. Asta înseamnă că numerele întregi mai mici de 25 (de la 1 la 25) sunt inutile pentru a fi ghicite. Acum, intervalul de ghicire a utilizatorilor este mai scurt, adică de la 25 la 50. Inteligent! Utilizatorul a ghicit jumătate din acest interval, astfel încât utilizatorul a ghicit 37 ca a treia presupunere. De data aceasta, compilatorul arată ieșirea, ” încercați din nou! Ai ghicit prea mic”. Pentru utilizator, intervalul de ghicire devine din ce în ce mai mic cu fiecare ghicire. Acum, intervalul de ghicire pentru utilizator este de la 37 la 50, pentru care utilizatorul a ghicit 43 ca a patra presupunere. De data aceasta compilatorul va afișa o ieșire „încercați din nou! Ai ghicit prea mare”. Deci, noul interval de ghicire pentru utilizatori va fi de la 37 la 43, din nou pentru care utilizatorul a ghicit jumătatea acestui interval, adică 40 ca a cincea presupunere. De data aceasta compilatorul arată ieșirea, ” încercați din nou! Ai ghicit prea mic”. Lăsând ghici chiar mai mici, astfel încât de la 41 la 43. Și acum utilizatorul a ghicit 41 ca a șasea presupunere. Ceea ce este greșit și arată ieșirea „încercați din nou! Ai ghicit prea mic”. Și în cele din urmă, utilizatorul ghicit numărul corect, care este 42 ca lui/ei a șaptea ghici.

numărul Total de presupuneri = 7

explicație 2: în cazul în care gama de intrări de utilizator, să spunem de la 1 la 50. Și compilator selectat aleatoriu 42 ca întreg. Și acum a început jocul de ghicire. Deci jumătate din 50 este 25. Utilizatorul introduce 25 ca prima sa presupunere. De data aceasta compilator va arăta, ” încercați din nou! Ai ghicit prea mic”. Asta înseamnă că numerele întregi mai mici de 25 (de la 1 la 25) sunt inutile pentru a fi ghicite. Acum, intervalul de ghicire a utilizatorilor este mai scurt, adică de la 25 la 50. Inteligent! Utilizatorul a ghicit jumătate din acest interval, astfel încât utilizatorul a ghicit 37 ca a doua presupunere. De data aceasta, compilatorul arată ieșirea, ” încercați din nou! Ai ghicit prea mic”. Pentru utilizator, intervalul de ghicire devine din ce în ce mai mic cu fiecare ghicire. Acum, intervalul de ghicire pentru utilizator este de la 37 la 50, pentru care utilizatorul a ghicit 43 ca a treia presupunere. De data aceasta compilatorul va afișa o ieșire „încercați din nou! Ai ghicit prea mare”. Deci, noul interval de ghicire pentru utilizatori va fi de la 37 la 43, din nou pentru care utilizatorul a ghicit jumătatea acestui interval, adică 40 ca a patra presupunere. De data aceasta compilatorul arată ieșirea, ” încercați din nou! Ai ghicit prea mic”. Lăsând ghici chiar mai mici, astfel încât de la 41 la 43. Și acum utilizatorul a ghicit 41 ca a cincea presupunere. Ceea ce este greșit și arată ieșirea „încercați din nou! Ai ghicit prea mic”. Și în cele din urmă, utilizatorul a ghicit numărul corect, care este 42 ca a șasea presupunere.

numărul Total de presupuneri = 6

deci, numărul minim de presupuneri depinde de interval. Și compilatorul trebuie să calculeze numărul minim de ghicitul depinde de gama, pe cont propriu. Pentru aceasta, avem o formulă:-

numărul minim de ghicire = log2(limita superioară-limita inferioară+ 1)

algoritm: mai jos sunt pașii:

  • utilizatorul introduce limita inferioară și limita superioară a intervalului.
  • compilatorul generează un număr întreg aleatoriu între interval și îl stochează într-o variabilă pentru referințe viitoare.
  • pentru ghicitul repetitiv, o buclă în timp ce va fi inițializată.
  • dacă utilizatorul a ghicit un număr care este mai mare decât un număr selectat aleatoriu, utilizatorul primește o ieșire „încercați din nou! Ai ghicit prea mare „
  • altfel dacă utilizatorul ghicit un număr care este mai mic decât un număr selectat aleatoriu, utilizatorul devine o ieșire ” încercați din nou! Ați ghicit prea mic ”
  • și dacă utilizatorul a ghicit într-un număr minim de presupuneri, utilizatorul primește un „felicitări! „Ieșire.
  • altfel dacă utilizatorul nu a ghicit numărul întreg în numărul minim de presupuneri, el / ea va primi ” mai mult noroc data viitoare!”ieșire.

mai jos este implementarea algoritmului:

Piton3

import random
import math
lower = int(input("Enter Lower bound:- "))
upper = int(input("Enter Upper bound:- "))
x = random.randint(lower, upper)
print("\n\tYou've only ",
round(math.log(upper - lower + 1, 2)),
" chances to guess the integer!\n")
count = 0
while count < math.log(upper - lower + 1, 2):
count += 1
guess = int(input("Guess a number:- "))
if x == guess:
print("Congratulations you did it in ",
count, " try")
break
elif x > guess:
print("You guessed too small!")
elif x < guess:
print("You Guessed too high!")
if count >= math.log(upper - lower + 1, 2):
print("\nThe number is %d" % x)
print("\tBetter Luck Next time!")



C

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int number, guess, nguesses=1;
srand(time(0));
number = rand()%100 + 1;
do
{
printf("Guess the number between 1 to 100\n");
scanf("%d", &guess);
if(guess>number)
{
printf("you guessed to high\n");
}
else if(guess<number)
{
printf("you guessed too low\n");
}
else
{
printf("You guessed the correct number");
printf("attempts : %d\n", nguesses);
}
nguesses++;
} while(guess!=number);
return 0;
}



ieșire: mai jos este ieșirea programului de mai sus

ieșire pentru ghicitul joc

articolul Tags: