Hola [chiu]
A modo de pasatiempo (como si de un mini-sudoku se tratase X-D) os propongo cada poco tiempo un problema de logica, para que todo el que quiera lo resuelva y asi poder ver las soluciones de cada uno, cosa que nos vendra bien para aprender, comparar y pensar un poco [+risas].
Principalmente estamos hablando de C puro y duro, el cual es la base de la mayoria de los juegos homebrew. Pero tambien seran bienvenidos todos los demas lenguajes, para que todos aprendamos o nos interesemos sobre alguno de ellos.
Para responder hacer uso de [ code].
Y he pensando que no es nada importante el puntuar la rapidez ni nada, sino el proponer pequeños retos y el que todos podamos aprender algo de las respuestas planteadas.
1.Problem..
Dar valor a dos variables para despues intercambiar el valor de las mismas, sin hacer uso de una tercera variable.
Soluciones:
pjexposito 'Pascal'
var
a,b:double;
begin
// Se define A y B
a:=415898;
b:=3;
a:=a*b;
b:= a/b;
a:= a/b;
// Los valores han cambiado y se muestra A y B
showmessage('a es '+floattostr(a)+' y b es '+floattostr(b));
end;
BlackSith 'C'
/*Declaramos*/
int a = 4, b = 6;
/*Intercambiamos*/
a += b;
b = a-b;
a -= b;
KFR 'C'
main()
{
int num1,num2;
printf("Introduce el primer numero: ");
scanf("%d",&num1);
printf("Introduce el segundo numero: ");
scanf("%d",&num2);
num1=num1+num2;
num2=num1-num2;
num1=num1-num2;
printf("El 1er numero vale ahora %d\n",num1);
printf("El 2do numero vale ahora %d\n\n",num2);
}
PauSaDRaMaTiCa 'C'
int a=10,b=20;
a ^= b^=a^=b;
2.Problem..
Hacer un programa que sume n (cantidad metida por teclado) numeros. Ejem... 5->1+2+3+4+5=15