GEODESIC PAPER ON 3RD JULY,2008

WRITTEN TEST:

Unlike other companys Geodesic had a very different written pattern. There were 2 Sections,

1) Algorithms and Logical Thinking

2) C Questions

1) Algorithms and Logical Thinking:

There were three questions in this sections.Each carries 5 marks. Ur Solution to the problem must be an optimal one.

q1) There was a plane which should satisfy the condt 0<b<a. U have to write a function f(x,y) which computes xn = (x + y)/2 and yn = 2(xy/x+y).Caluclate it for first 3 values and find an invariant for these values??

q2) There are 'm' rows and 'n' columns, these have choclates in it. 2 users play a game in turn,If player breaks a chocolate in a cell,he can go either row wise or column wise and the next player should play his turn.The one who is finally left with one square is the loser.If player1 doesnt break a small chocolate and gives his turn for player2,what is the optimal stragedy for winning? What are the positions of losing??

q3) There were 'n' people seated in a circle,every second person in the circle is eliminated,again the circle is enclosed and the procedure is repeated.Describe this as a function and 'n' should be decipted as a binary number.U should corelate n with f(n).Find f(10) and f(20)?

(Hint: This problem is a variant of jospheus problem)

2) C Questions-Here there were 7 questions which were splitted as 1,2 and 3 mark problems!!

q1) A Train is of length 'n' meters which has individual compartments of size 1 or 2 meters in length. In how many possible ways that the length of the train is accommodated with 1 or 2m compartments. Write a function Train(n) which computes this? (3m)

q2) Give the Structure definition of link list and how will u detect a loop in the link list? Write a Seperate function for that? (3m)

q3) Perform addition of two numbers without using '+' operator? (2m)

q4) Consider the code snippet,

int n[] = {0014,010,2,4,8,12};

int i;

for(i=0;i<6;i++)

{

printf("%d",n*);*

}

What is the output of the above program? (2m)

q5) Find the output of the following program,

#define swap(x,y) x=x+y;y=x-y;x=x-y;

void main()

{

int x=5,y=10;

swap(x,y);

printf("%d %d",x,y);

swap1(x,y)

printf("%d %d",x,y);

}

int swap1(int x,int y);

{

int temp;

temp =x;

x=y;

y=temp;

return 0;

} (2m)

q6) Consider the following code snippet,

void main()

{

char s=127;

unsigned char u;

s++;

}

(a) is s > 127?

(b) is s < u? (1m)

q7) Write a function which compares two strings ending with a null character which returns '0' when they are same and '-1' when they are not same? U should not use strcmp() function. (2m)