Programming Code for IQ Test

Here are three IQ quizzes. Each quiz has a sequence of numbers, having some relationship between number and number. Following the relationship, find out the last value.

1) 1, 5, 5, 9, 13, 26, 30, ?
2) 324, 54, 63, 21, 27, 3, 6, ?
3) 375, 374, 374, 363, 33, 22, ?

I've done my best and wrote the algorithms in C# code:

// Question 1
for (int i = 0, value = 1, timesToAdd = 1, count = 0; ; i++, timesToAdd++) {
 Console.WriteLine("{0} ", value);
 
 if (count < timesToAdd) {
  value += 4;
  count++;
 } else {
  value *= timesToAdd;
  count = 0;
  timesToAdd++;
 }
}

// Question 2
int[] sequence = {9, 6, 3};

for (int i = 0, value = 324, oddState = 0, evenState = 1;value >= 0 ; i++) {
 Console.WriteLine("{0} ", value);
 
 // Even state
 if (i % 2 == 0) {
  value /= sequence[evenState];
  evenState = (evenState + 1) % 3;
 }
 // Odd state
 else {
  value += sequence[oddState];
  oddState = (oddState + 1) % 3;
 }
}

//Question 3
for (int i = 1, value = 375, adjustValue = 1; value >= 0; i++) {
 Console.WriteLine("{0} ", value);
 
 switch(i / 4) {
  case 0:
  case 2:
   value -= adjustValue;
   break;
  case 1:
   value /= adjustValue;
   break;
  default:
   value /= adjustValue;
   adjustValue = adjustValue * 10 + 1;
   break;
 }
}

0 comments: