我正在嘗試在C中重新編寫這個bash函數,但有點不確定如何將此函數轉換爲C循環。轉換一個Bash函數來計算n!到C?
這裏我有變量集。這我已經有
n=10
r=4
這是我如何重新寫這個有點失落。這似乎是用自己的函數調用函數,我非常確定C不會這麼做(至少安全),而且它不需要是一個函數,我只需要插入相同的變量,並讓它來與同樣的結果出來。
factorial() {
if (($1)); then
echo $(($1 * $(factorial $(($1-1)))))
else
echo 1
fi
}
最後一點,在C中表達下面代碼的最佳方式是什麼? bash中的包圍會繼續嗎?
result=$(($(factorial $n)/($(factorial $r)*$(factorial $(($n-$r))))))
階乘工作在標準整數類型的這麼少輸入整數的範圍,我會只是做一個查找表,而不是計算循環。無論如何,你必須檢查用戶輸入是否在界限內。 – 2013-02-09 10:30:49