TopCoder problem "ExcitingGame" used in TCHS SRM 9 (Division I Level One)



Problem Statement

    One day, nClassmates classmates decided to play an exciting game. They formed a circle and assigned themselves player numbers from 0 to nClassmates - 1 in a clockwise direction. Then, they counted from 1 to nTimes, inclusive, starting with player 0 and going in a clockwise direction. Each player spoke out the current number, and then, his clockwise neighbor spoke out the next number, etc. If a player got a number that was divisible by 3, he would cry out the word "hello" instead of speaking out the number. Return the number of times that player who cried out "hello".
 

Definition

    
Class:ExcitingGame
Method:howMany
Parameters:int, int, int
Returns:int
Method signature:int howMany(int nClassmates, int nTimes, int who)
(be sure your method is public)
    
 

Constraints

-nClassmates will be between 1 and 1000, inclusive.
-nTimes will be between 1 and 10000, inclusive.
-who will be between 0 and nClassmates - 1, inclusive.
 

Examples

0)
    
2
13
0
Returns: 2
Player 0 cried out "hello" for the numbers 3 and 9.
1)
    
10
10
1
Returns: 0
Player 1 only had one turn, and he spoke out the number 2.
2)
    
3
30
2
Returns: 10
He cried out "hello" on all of his turns.
3)
    
895
8544
837
Returns: 3

Problem url:

http://www.topcoder.com/stat?c=problem_statement&pm=6633

Problem stats url:

http://www.topcoder.com/tc?module=ProblemDetail&rd=10061&pm=6633

Writer:

Mike Mirzayanov

Testers:

PabloGilberto , brett1479 , Olexiy

Problem categories:

Simulation