miércoles, 16 de noviembre de 2011

4 Proyecto Euler

A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.
Find the largest palindrome made from the product of two 3-digit numbers.

3 Proyecto Euler

The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?

Problema 2 Euler

Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.

Para los que van entrando!!

Como les habia comentado Alain pueden empezar a revisar algunas cosas sobre tipos de datos y escritura en la pagina de la mixteca.
Y con lo que les explico Alain empezar a tratar de programar algo. Los primeros problemas de Proyecto Euler son bastante sencillos, son mas de implementacion del codigo, que realmente resolver un problema; comiencen con esos.
En un momento subo mis soluciones a estos problemas, para que las revisen y las comparen con las suyas y se den otra idea de soluciones, o en dado caso revisar algunas cosas que no les hayan quedado claras. Se que se pueden hacer mejores codigos para los problemas, pero espero les sirvan.
De todas maneras los dias que nos veamos pueden preguntarnos acerca de estas.

sábado, 12 de noviembre de 2011

Páginas de interés

______Hola a todos, bienvenidos sean. Les traigo unos links a páginas muy interesantes y que considero son merecedoras de su atención. Comienzo con algo de información general, y después viene lo bueno: páginas de entrenamiento en línea. ¡A programar se ha dicho! En algunas páginas de entrenamiento se hacen concursos abiertos en tiempo real, incluso podrías ganar algún premio (te lo envían a tu casa). La mayoría traen miles de problemas cuyas soluciones te evalúan al instante. Otras traen algoritmos y material de referencia que no está de más revisar. Conócelas y averigua de qué estoy hablando.

Información sobre el ACM ICPC:

Página del ACM ICPC:
http://cm.baylor.edu/welcome.icpc

Página de Wikipedia del ACM ICPC en español:
http://es.wikipedia.org/wiki/Competici%C3%B3n_Internacional_Universitaria_ACM_de_Programaci%C3%B3n

Y un poco más completa en inglés:
http://en.wikipedia.org/wiki/ACM_International_Collegiate_Programming_Contest

Página del ACM ICPC en el ITESO (Una de las sedes principales en México):
http://www.acm.iteso.mx/2011/

Página del ACM ICPC en México (Información diversa):
http://cidi.uaq.mx/acm/

Sobre el lenguaje C/C++:

http://www.cplusplus.com/

http://c.conclase.net/

Checa en la biblioteca de la Facultad de Ciencias, hay buenos libros de C/C++ y, más aún, libros de Algoritmia.


¡A resolver problemas! Páginas de entrenamiento:

ACM ICPC Live Archive:
http://livearchive.onlinejudge.org/ (Estos son los problemas del ACM ICPC)

Caribbean Online Judge:
http://coj.uci.cu/index.xhtml (Cuba tiene un buen nivel)

Proyecto Euler:
http://projecteuler.net/ (Recomendada para empezar a resolver problemas)
(Y para quienes aman las matemáticas)

UVA Online Judge:
http://uva.onlinejudge.org/ (Aquí entrenan muchos buenos programadores)

Omi Training Gate:
http://www.cmirg.com:8081/traingate/ (La página de entrenamiento de la OMI)

Sphera Online Judge:
http://www.spoj.pl/ (Más de 100,000 usuarios)

TJU ACM ICPC Online Judge:
http://acm.tju.edu.cn/toj/ (Los chinos programan muy muy bien)

Timus Online Judge:
http://acm.timus.ru/ (Los rusos compiten con los chinos)

Saratov Online Judge:
http://acm.sgu.ru/ (Y también con otros rusos)

Codeforces:
http://www.codeforces.com/ (Otra idea de los de Saratov)

TopCoder:
http://www.topcoder.com/ (Nuestros vecinos del norte no se podían quedar atrás)
(TopCoder es incluso una empresa)

CodeChef:
http://www.codechef.com/ (Desde la tierra de Gandhi)

Aizu Online Judge:
http://judge.u-aizu.ac.jp/onlinejudge/ (Los nipones... son nipones)

______Y pues con esas pueden empezar :)

______Espero pronto publicar información sobre algoritmos y próximas competiciones de programación. Que estén muy bien y tengan muchos ACCEPTED ;)

jueves, 29 de septiembre de 2011

k-ceros

Hola,
les paso mi solucion del problema. Chequen por favor la forma en que defino las T'[ ]s, si se les ocurre una forma de escribir eso, sin tener que decirlo una por una, me dicen porfa.

Espero puedan subir sus soluciones para revisarlas, la idea del blog es que nos hagamos comentarios sobre lo que hacemos, tratemos de mejorar y aprendamos de los demas.

#include<stdio.h>

long long k, s[17],  m, i,j,l,n, p[17],t[17],r;


int main(){

s[0]=1;
for(i=1;i<17;i++)
s[i]=5*s[i-1]+1;

p[0]=5;
for(j=1;j<17;j++)
p[j]=5*p[j-1];

scanf("%lld",&m);

t[16]=m/s[16];
t[15]=(m-t[16]*s[16])/s[15];
t[14]=(m-t[16]*s[16]-s[15]*t[15])/s[14];
t[13]=(m-t[16]*s[16]-s[15]*t[15]-t[14]*s[14])/s[13];
t[12]=(m-t[16]*s[16]-s[15]*t[15]-t[14]*s[14]-t[13]*s[13])/s[12];
t[11]=(m-t[16]*s[16]-s[15]*t[15]-t[14]*s[14]-t[13]*s[13]-t[12]*s[12])/s[11];
t[10]=(m-t[16]*s[16]-s[15]*t[15]-t[14]*s[14]-t[13]*s[13]-t[12]*s[12]-t[11]*s[11])/s[10];
t[9]=(m-t[16]*s[16]-s[15]*t[15]-t[14]*s[14]-t[13]*s[13]-t[12]*s[12]-t[11]*s[11]-t[10]*s[10])/s[9];
t[8]=(m-t[16]*s[16]-s[15]*t[15]-t[14]*s[14]-t[13]*s[13]-t[12]*s[12]-t[11]*s[11]-t[10]*s[10]-t[9]*s[9])/s[8];
t[7]=(m-t[16]*s[16]-s[15]*t[15]-t[14]*s[14]-t[13]*s[13]-t[12]*s[12]-t[11]*s[11]-t[10]*s[10]-t[9]*s[9]-t[8]*s[8])/s[7];
t[6]=(m-t[16]*s[16]-s[15]*t[15]-t[14]*s[14]-t[13]*s[13]-t[12]*s[12]-t[11]*s[11]-t[10]*s[10]-t[9]*s[9]-t[8]*s[8]-t[7]*s[7])/s[6];
t[5]=(m-t[16]*s[16]-s[15]*t[15]-t[14]*s[14]-t[13]*s[13]-t[12]*s[12]-t[11]*s[11]-t[10]*s[10]-t[9]*s[9]-t[8]*s[8]-t[7]*s[7]-t[6]*s[6])/s[5];
t[4]=(m-t[16]*s[16]-s[15]*t[15]-t[14]*s[14]-t[13]*s[13]-t[12]*s[12]-t[11]*s[11]-t[10]*s[10]-t[9]*s[9]-t[8]*s[8]-t[7]*s[7]-t[6]*s[6]-t[5]*s[5])/s[4];
t[3]=(m-t[16]*s[16]-s[15]*t[15]-t[14]*s[14]-t[13]*s[13]-t[12]*s[12]-t[11]*s[11]-t[10]*s[10]-t[9]*s[9]-t[8]*s[8]-t[7]*s[7]-t[6]*s[6]-t[5]*s[5]-t[4]*s[4])/s[3];
t[2]=(m-t[16]*s[16]-s[15]*t[15]-t[14]*s[14]-t[13]*s[13]-t[12]*s[12]-t[11]*s[11]-t[10]*s[10]-t[9]*s[9]-t[8]*s[8]-t[7]*s[7]-t[6]*s[6]-t[5]*s[5]-t[4]*s[4]-t[3]*s[3])/s[2];
t[1]=(m-t[16]*s[16]-s[15]*t[15]-t[14]*s[14]-t[13]*s[13]-t[12]*s[12]-t[11]*s[11]-t[10]*s[10]-t[9]*s[9]-t[8]*s[8]-t[7]*s[7]-t[6]*s[6]-t[5]*s[5]-t[4]*s[4]-t[3]*s[3]-t[2]*s[2])/s[1];
t[0]=(m-t[16]*s[16]-s[15]*t[15]-t[14]*s[14]-t[13]*s[13]-t[12]*s[12]-t[11]*s[11]-t[10]*s[10]-t[9]*s[9]-t[8]*s[8]-t[7]*s[7]-t[6]*s[6]-t[5]*s[5]-t[4]*s[4]-t[3]*s[3]-t[2]*s[2]-t[1]*s[1])/s[0];

r=0;
for(n=0;n<17;n++)
r=r+p[n]*t[n];

k=r;

printf("%lld",k);
}