哪位仁兄再来帮帮忙?我改了程序,但是调试都调试不出为什么错了,接上帖的n!问题
九天雁翎 2007-04-30 04:51:44 哪位仁兄再来帮帮忙?我改了程序,但是调试都调试不出为什么错了
void Factor::compute()
{
vec.push_back(1);
for(size_t i = 2;i<=n;++i)
{
size_t and = 0;
for(iter it = vec.begin();it != vec.end();)
{
and += i * (*it);
*(++it) = and % 10;
if(and /= 10)
if(it == vec.end())
{
vec.push_back(0);
continue;
}
}
}
}
这次我不把and直接当作个位数push_back了,留到下一位再继续运算,假如下一位本来没有,那么就等于零,然后and += 0,再重新处理,上面那个打错了,应该是 *(it++) = and % 10;