El problema que yo veo es que estas usando numeros muy grandes para los tipos que defines. Ejemplo: la k es unsigned int, esto es puede contener valores entre 0 y 65,535 y tu defines el siguiente ciclo
Código:
for (k=1; k<=1000000000; k++)
Espero esto te sirva
Tipo: Tamaño en bits Rango
char: 8 -127 a 127
unsigned char: 8 0 a 255
signed char: 8 -127 a 127
int: 16 -32767 a 32767
unsigned int: 16 0 a 65535
signed int: 16 -32767 a 32767
short int: 16 -32767 a 32767
unsigned short int: 16 0 a 65535
signed short int: 16 -32767 a 32767
long int: 32 -2147483647 a 2147483647
signed long int: 32 -2147483647 a 2147483647
unsigned long int: 32 0 a 4294967295
float: 32 seis dígitos de precisión
double: 64 diez dígitos de precisión
long double: 64 diez dígitos de precisión