2010年3月8日 星期一

Problem 392 Polynomial Showdown,多項式

此題輸入九個數,須降冪印出它的多項式。

這題只需判斷它是否為第一次印出,或者是否為一次方項、常數項。

以下為關鍵程式碼:
int isPut = 0, i;
for (i = 0; i < 9; i ++)
{
if (isPut && pow[i] != 0)
{
if (pow[i] < 0) printf(" - ");
else printf(" + ");
pow[i] = pow[i] < 0 ? -1 * pow[i]: pow[i];
if (pow[i] != 1) printf("%d", pow[i]);
else if (i == 8) printf("%d", pow[i]);
if (i == 7) printf("x");
else if (i != 8) printf("x^%d", 9 - i - 1);
}
else if (!isPut && pow[i] != 0)
{
if (pow[i] < 0) printf("-");
pow[i] = pow[i] < 0 ? -1 * pow[i]: pow[i];
if (pow[i] != 1) printf("%d", pow[i]);
else if (i == 8) printf("%d", pow[i]);
if (i == 7) printf("x");
else if (i != 8) printf("x^%d", 9 - i - 1);
isPut = 1;
}
}
if (!isPut) printf("0");
printf("\n");

By David.K

p392題目連結
回ACM題庫目錄
回首頁

沒有留言: