Recursive Integer Guessing Game

A recursive algorithm that queries an objective function to guess an unknown integer.
Updated 21 Mar 2012

View License

An integer guessing 'game' for a
function `isleq', that returns true for
all values less than or equal to a
mystery number.

Syntax: z=guessgame(isleq,n,k)

In tertiary function notation:

g(n,k) =
| k==0 :: isleq(n) ? n : n+1;
| k>0 :: isleq(n+(2^k)-1) ?
g(n,k-1) : g(n+2^k,k-1);
| k<0 :: isleq(n+(2^(-k))-1) ?
g(n,(-k)-1) : g(n+(2^(-k)),k-1);

g(n,-k) for -k negative refers to an
unbounded search [n,inf] with current
search depth up to (n+2^(-k)-1) :

e.g. g(15,-4) denotes [15,30].

g(n,k) for k positive refers to a
search over the interval
[n,(n+(2^(k+1))-1)] :

e.g. guess(63,5) denotes [63,126].

Initial function should be run with n
set as a lower bound (default 1).

Function isleq can be replaced with an
integer instead.

Cite As

Adam Gripton (2024). Recursive Integer Guessing Game (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2012a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Magic in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes