{
// 沒有對(duì)應(yīng)位則需要添加
rest.push_back(carry);
}
}
}
// 上述計(jì)算之后,會(huì)出現(xiàn)有些位的數(shù)字超過了10,那是因?yàn)樵谔幚砻恳晃贿\(yùn)算結(jié)果之后
// 相加時(shí)地位向高位可能存在進(jìn)位,上面沒有考慮,所以需要進(jìn)行調(diào)整
for(i = 0;i < rest.size();++i)
{
if(rest[i] > 9)
{
if((i+1) != rest.size())
{
// 高位存在,則直接更新高位
rest[i+1] += rest[i] / 10;
rest[i] = rest[i] % 10;
}
else
{
// 高位不存在,則需要插入
rest.push_back(rest[i] / 10);
rest[i] = rest[i] % 10;
}
}
}
// 將計(jì)算結(jié)果存儲(chǔ)到原來的容器中
calcresult.clear();
for(i = 0;i < rest.size();++i)
{
calcresult.push_back(rest[i]);
}
}
int main()
{
int num = 0;
vector calcresult;
// 將初值1賦進(jìn)去
calcresult.push_back(1);
// 獲取欲求階乘的整數(shù)
cout<<"輸入欲求階乘的整數(shù):"<
cin>>num;
for(int i = 0;i < num;++i)
{
Calc(i+1,calcresult);
}
// 輸出計(jì)算結(jié)果
cout<
for(unsigned int i = calcresult.size();i > 0 ;--i)
{
cout<
}
cout<
return 0;
}
相關(guān)推薦:2010年9月計(jì)算機(jī)等級(jí)考試成績(jī)查詢時(shí)間匯總
2011年計(jì)算機(jī)等級(jí)考試二級(jí)C++輔導(dǎo)筆記匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |