Cody

Problem 44630. Guess the number I'm thinking of

Solution 1519079

Submitted on 6 May 2018 by Tim
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
assessFunctionAbsence({'rng', 'RandStream'}, 'FileName','myGuess.m')

2   Pass
for j = 1 : 1000 numberToBeGuessed = randi(10); gOO = randperm(10, 2); mG = myGuess(gOO); assert( mG >= 1 & mG <= 10 , 'Out of requested range.' ) u = unique( floor([gOO mG]) ); assert( length(u) == 3 , 'Your guess must not have been already chosen.' ) end;

3   Pass
maxIts = 100000; tic for j = 1 : 10 WDL = [0 0 0]; for itn = 1 : maxIts numberToBeGuessed = randi(10); gOO = randperm(10, 2); diffs = abs( [gOO myGuess(gOO)] - numberToBeGuessed ); winningContestant = find( min(diffs)==diffs ); if any( winningContestant == 3 ), if length(winningContestant) == 1, % Win WDL(1) = WDL(1) + 1; else % Draw WDL(2) = WDL(2) + 1; end; else % Loss WDL(3) = WDL(3) + 1; end; end; successRate = (WDL(1) + WDL(2)/2) / maxIts assert( successRate >= 0.45 ) end; toc

successRate = 0.4625 successRate = 0.4636 successRate = 0.4636 successRate = 0.4620 successRate = 0.4630 successRate = 0.4653 successRate = 0.4651 successRate = 0.4645 successRate = 0.4623 successRate = 0.4631 Elapsed time is 4.490052 seconds.

Suggested Problems

More from this Author31

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!