C/C++の宿題を片付けます 113代目
■ このスレッドは過去ログ倉庫に格納されています
0307デフォルトの名無しさん
2008/07/17(木) 00:08:04スペースないからdecomposite関数だけ。
void decomposite(char *str)
{
int a, b, c, ab, bc, ca;
char *p, *q, *r, temp[256];
for(p=str,ab=0; ab<=65535*2; p++) {
ab = ab * 10 + *p - '0';
for(q=p+1,bc=0; bc<=65535*2; q++) {
bc = bc * 10 + *q - '0';
for(r=q+1,ca=0; ca<=ab + bc; r++) {
ca = ca * 10 + *r - '0';
a = (ab + ca - bc) / 2;
b = ab - a;
c = ca - a;
if(a<0||b<0||c<0||a+b!=ab||b+c!=bc||c+a!=ca) continue;
sprintf(temp, "%d%d%d%d%d%d%d%d%d",a,b,c,abs(a-b),abs(b-c),abs(c-a),a*b,b*c,c*a);
if(strcmp(r+1, temp)==0) printf("a=%d b=%d c=%d\n", a, b, c);
}
}
}
}
■ このスレッドは過去ログ倉庫に格納されています