[英]c++ how to print output of factorial program recursively
我想問一個非常簡單的問題。
一個簡單的c ++代碼可以計算任意數量的階乘,如下所示:
rslt=1;
for(q=fctrl;q>=1;q--)
{
rslt=rslt*q;
}
cout<<fctrl<<"! = "<<rslt;
fctrl = 4的樣本運行,輸出類似於“ 4!= 24”
我不想要那樣,相反,我希望它像這樣“ 4x3x2x1 = 24”打印
有人可以幫我嗎?
您可以修改循環:
for(int q = factrl; q >= 1; q--){
rslt = rslt * q;
cout << q;
if(q != 1) cout << "x";
}
cout << "=" << rslt << endl;
首先,您沒有遞歸算法-這是迭代解決方案。
要實現您想要的,只需在其中輸出當前循環變量即可:
rslt=1;
for(q=fctrl;q>=1;q--)
{
rslt=rslt*q;
// output q
cout << q;
if(q != 1)
{
cout << "x";
}
}
cout<<" = "<<rslt;
條件if(q != 1)
可以防止在語句末尾寫出額外的x
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.