Tuesday, March 5, 2013

Carrer cup - 4th edition

4.1
Add arithmetic operators (plus, minus, times, divide) to make the following expression true: 3 1 3 6 = 8. You can use any parentheses you’d like. 

 Answer: +3 -1 +(-3+6) = 8


9.2   The Game of Master Mind is played as follows:
- The computer has four slots containing balls that are red (R), yellow (Y), green (G) or blue (B). For example, the computer might have RGGB (eg, Slot #1 is red, Slots #2 and #3 are green, #4 is blue).

- You, the user, are trying to guess the solution. You might, for example, guess YRGB.

- When you guess right color for the right slot, you get a “hit”. If you guess a color that exists but is in the wrong slot, you get a “psuedo-hit”. For example, the guess YRGB has 2 hits and one pseudo-hit.

For each guess, you are told the number of hits and pseudo hits. Write a method that, given a guess and a solution, returns the number of hits and pseudo hits.

public class carrercup_9_2 {

    void printHitsPseudohits(String solution, String guess)
    {
        int hits =0, psudohits = 0;
      
        int position = 0;
      
        for (int i=0;i        {
          
            position = solution.indexOf(guess.substring(i, i+1));
          
            if(position == i) //guess at same position as that of solution
            {
                hits++;
            }
          
            else if(position != -1) // guess charecter is there in solution somewhere
            {
                psudohits ++;
            }
          
            position = 0;//resetting position
        }
      
        System.out.println("For solution = "+solution +" and guess = "+guess +" hits = "+hits+" psudohits = "+psudohits);
    }
}