試題一可以用暴力法來求解,只是到後來會用到許多的CPU時間。
另外,到了第七組解的時候,整數和將超過int的極限,造成錯誤的答案,所以可以用double來解決這個問題。
#include
#include
#define MAX 100000000
int main(void)
{
double i, j, lsum, rsum;
lsum = 0;
rsum = 2;
i = 2;
j = 2;
while (i<100000000) {
lsum += i-1;
rsum -= i;
if (rsum > lsum)
break;
while (rsum < lsum) {
j++;
rsum += j;
}
if (rsum == lsum) {
printf("%10.0lf%10.0lf\n", i,j);
}
i++;
}
system("pause");
return 0;
}
程式設計比賽試題目錄
回到首頁
沒有留言:
張貼留言