GeeksforGeeks
de Fleste geeks fra EN CS (Datavitenskap) bakgrunn, tenk på deres aller første prosjekt etter Å ha gjort Et Programmeringsspråk. Her får du ditt aller første prosjekt og det grunnleggende, i denne artikkelen.
Oppgave: nedenfor er trinnene:
- Bygg En Rekke gjettelek, der brukeren velger et område.
- La Oss si At Brukeren valgte et område, dvs.Fra A Til B, Hvor A og B tilhører Heltall.
- noe tilfeldig heltall vil bli valgt av systemet, og brukeren må gjette det heltallet i minimum antall gjetninger
Analyse:
Forklaring 1: hvis Brukerinngangene varierer, la oss si fra 1 til 100. Og kompilatoren tilfeldig valgt 42 som heltall. Og nå gjetteleken startet, slik at brukeren angitt 50 som hans / hennes første gjetning. Kompilatoren viser «Prøv Igjen! Du gjettet for høyt». Det betyr at det tilfeldige tallet (dvs. 42) ikke faller i området fra 50 til 100. Det er betydningen av å gjette halvparten av serien. Og igjen gjetter brukeren halvparten av 50 (kan du fortelle meg hvorfor?). Så halvparten av 50 er 25. Brukeren går inn 25 som hans / hennes andre gjetning. Denne gangen kompilatoren vil vise, » Prøv Igjen! Du gjettet for liten». Det betyr at heltallene mindre enn 25 (fra 1 til 25) er ubrukelige å gjettes. Nå er rekkevidden for brukergjetting kortere, dvs.fra 25 til 50. Intelligent! Brukeren gjettet halvparten av dette området, slik at brukeren gjettet 37 som hans / hennes tredje gjetning. Denne gangen viser kompilatoren utgangen, » Prøv Igjen! Du gjettet for liten». For brukeren blir gjetningsområdet mindre ved hvert gjetning. Nå er gjetteområdet for brukeren fra 37 til 50, som brukeren gjettet 43 som hans / hennes fjerde gjetning. Denne gangen kompilatoren vil vise en utgang » Prøv Igjen! Du gjettet for høyt». Så det nye gjetningsområdet for brukere vil være fra 37 til 43, igjen som brukeren gjettet halvparten av dette området, det vil si 40 som hans femte gjetning. Denne gangen viser kompilatoren utgangen, » Prøv Igjen! Du gjettet for liten». Leaving gjetning enda mindre slik at fra 41 til 43. Og nå brukeren gjettet 41 som hans / hennes sjette gjetning. Som er feil og viser utgang » Prøv Igjen! Du gjettet for liten». Og Til slutt Gjettet Brukeren riktig nummer som er 42 som hans / hennes syvende gjetning.
Totalt Antall Gjetninger = 7
Forklaring 2: Hvis Brukerinngangene varierer, la oss si fra 1 til 50. Og kompilatoren tilfeldig valgt 42 som heltall. Og nå begynte gjetteleken. Så halvparten av 50 er 25. Brukeren går inn 25 som hans / Hennes Første gjetning. Denne gangen kompilatoren vil vise, » Prøv Igjen! Du gjettet for liten». Det betyr at heltallene mindre enn 25 (fra 1 til 25) er ubrukelige å gjettes. Nå er rekkevidden for brukergjetting kortere, dvs.fra 25 til 50. Intelligent! Bruker gjettet halvparten av dette området, slik at brukeren gjettet 37 som hans / hennes andre gjetning. Denne gangen viser kompilatoren utgangen, » Prøv Igjen! Du gjettet for liten». For brukeren blir gjetningsområdet mindre ved hvert gjetning. Nå er gjetteområdet for brukeren fra 37 til 50, som brukeren gjettet 43 som hans / hennes tredje gjetning. Denne gangen kompilatoren vil vise en utgang » Prøv Igjen! Du gjettet for høyt». Så vil det nye gjetningsområdet for brukere være fra 37 til 43, igjen som brukeren gjettet halvparten av dette området, det vil si 40 som hans fjerde gjetning. Denne gangen viser kompilatoren utgangen, » Prøv Igjen! Du gjettet for liten». Leaving gjetning enda mindre slik at fra 41 til 43. Og nå brukeren gjettet 41 som hans / hennes femte gjetning. Som er feil og viser utgang » Prøv Igjen! Du gjettet for liten». Og Til slutt Gjettet Brukeren riktig nummer som er 42 som hans / hennes sjette gjetning.
Totalt Antall Gjetninger = 6
så, minimum antall gjetninger avhenger av rekkevidde. Og kompilatoren må beregne minimum antall gjette avhenger av området, på egen hånd. For dette har vi en formel:-
Minimum antall gjetting = log2 (Øvre grense-nedre grense + 1)
Algoritme: Nedenfor Er Trinnene:
- Bruker innganger nedre grense og øvre grense av området.
- kompilatoren genererer et tilfeldig heltall mellom området og lagrer det i en variabel for fremtidige referanser.
- for repeterende gjetting, vil en stund loop bli initialisert.
- hvis brukeren gjettet et tall som er større enn et tilfeldig valgt tall, får brukeren en utgang «Prøv Igjen! Du gjettet for høyt»
- Ellers hvis brukeren gjettet et tall som er mindre enn et tilfeldig valgt tall, får brukeren en utgang «Prøv Igjen! Du gjettet for lite «
- og hvis brukeren gjettet i et minimum antall gjetninger, får brukeren En » Gratulerer! » Output.
- Ellers hvis brukeren ikke gjettet heltallet i minimum antall gjetninger, vil han/hun få » Bedre Lykke Neste gang!» output.
Nedenfor Er Implementeringen Av Algoritmen:
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!"
)
#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;
}
UTGANG: Nedenfor er utgangen av Programmet ovenfor
UTGANG FOR GJETTELEK