C/C++の宿題を片付けます 80代目
■ このスレッドは過去ログ倉庫に格納されています
0296294
2007/01/05(金) 02:56:36#include <stdio.h>
void solve(int a, int b, int c) {
int i, j;
if (a == 0) {
printf("a==0は2次方程式ではありません\n");
return;
}
if (c == 0) {
printf("(%dx+%d)(%dx+%d)\n", 1, 0, a, b);
return;
}
for (i = a > 0 ? 1 : a; i <= (a > 0 ? a : -1); ++i) {
if (a % i != 0) continue;
for (j = c > 0 ? 1 : c; j <= (c > 0 ? c : -1); ++j)
if (c % j == 0 && i * j + a / i * c / j == b) {
printf("(%dx+%d)(%dx+%d)\n", i, c / j, a / i, j);
return;
}
}
printf("不可能\n");
}
int main(void) {
int a, b, c;
for (; ; ) {
printf("a b c\n");
scanf("%d%d%d", &a, &b, &c);
solve(a, b, c);
}
}
■ このスレッドは過去ログ倉庫に格納されています