我對解決這個SPOJ問題 - http://www.spoj.com/problems/ALICESIE/BASH很慢嗎?
的問題歸結爲打印什麼(N + 1)/ 2
這是通過在0.03秒
#include <stdio.h>
int main() {
int test, n;
scanf("%d", &test);
while(test--) {
scanf("%d", &n);
printf("%d\n", (n + 1) >> 1);
}
return 0;
}
我的C代碼而這是我的BASH代碼這給時間超出限制(即> 1秒)
read test
while ((test--))
do
read n
echo "$(((n+1)/2))"
done
任何人都可以讓我知道爲什麼會出現這種情況? BASH很慢嗎? 謝謝。
只是好奇你爲什麼你沒有在你的bash代碼中使用while循環,就像你在C代碼中做的那樣?語法幾乎相同:'while((test--))'(這只是一個非常小的一點點,但至少看起來是一致的) – William
done.no區別雖然 - 仍然TLE –
@ user1972269顯示你如何調用你的bash代碼。 – kojiro