q55
q29: Distinct powers

Poor solution; read forums/think to improve it
q26: Reciprocal cycles

A very nice solution from the thread:

void ex26(){
	int n, i, len, maxlen, maxn;
	maxlen = 0;
	for( n=2 ; n<=1000 ; n++ ){
		int rest = 1;
		int r0;
		for( i=0 ; i<n ; i++ ) rest = (rest*10)%n;
		r0 = rest;
		len = 0;
		do {
			rest = (rest*10)%n;
			len++;
		}
		while(rest!=r0);
		if(len>maxlen){
			maxn = n;
			maxlen = len;
		}
	}
	printf("ex26: %d: %d\n", maxn, maxlen);
}
q41 & q97 prototype