A mí lo que me alucina de verdad de este chat es todo lo que tiene que ver con programación. Por ejemplo, le pides que te escriba un programa en Python (o en Java o en C o lo que quieras) para hacer algo y te escribe un programa la mayoría de las veces totalmente correcto. O le metes un código y le pides que te explique lo que hace, y la mayoría de las veces lo hace bien. O le metes un código en C y le pides que te lo traduzca a Python y también lo hace bien.
Yo le pedí un programa en C que escriba el nombre en español de un número cualquiera de tres cifras, y lo hizo bien. Es algo típico, y hay centenares de ejemplos en internet, podría sacarlo de allí. Pero cuando le pido una función que haga lo mismo, pero usando una sola sentencia ejecutable, me responde con otro programa un poco más corto pero con varias sentencias ejecutables. Y esa optimización es posible:
numlet.h:
char uni[10][4][20]={
"", "diez", "veinte", "",
"uno", "once", "veintiuno", "y uno",
"dos", "doce", "veintidós", "y dos",
"tres", "trece", "veintitrés", "y tres",
"cuatro", "catorce", "veinticuatro", "y cuatro",
"cinco", "quince", "veinticinco", "y cinco",
"seis", "dieciseis", "veintiseis", "y seis",
"siete", "diecisiete", "veintisiete", "y siete",
"ocho", "dieciocho", "veintiocho", "y ocho",
"nueve", "diecinueve", "veintinueve", "y nueve"
};
char dec[10][20]={ "", "", "", "treinta ", "cuarenta ", "cincuenta ",
"sesenta ", "setenta ", "ochenta ", "noventa " };
char cen[10][3][20]={
"cero", "", "",
"cien", "ciento ", "",
"", "", "doscientos ",
"", "", "trescientos ",
"", "", "cuatrocientos ",
"", "", "quinientos ",
"", "", "seiscientos ",
"", "", "setecientos ",
"", "", "ochocientos ",
"", "", "novecientos " };
numlet.c:
#include "./lib/gcc/mingw32/3.4.5/include/stdarg.h"
#include "numlet.h"
void numlet(int c, int d, int u))
{
printf("%1d%1d%1d\t%s%s%s\n", c, d, u, &(cen[c][(c<2?(d+u>0):2)]),
&(dec[d]), &(uni
[(d<3?d:3)]));
}