Código C++:
Ver original
#include <deque> using std::deque; #include <iostream> using std::cout; using std::endl; int main() { deque<unsigned short> number; deque<unsigned short>::iterator it; int remainder = 0; int temp; number.push_back(1); for(int i = 2; i <= 100; i++) { it = number.end(); while(it != number.begin()) { temp = ( (*it--) * i) + remainder; // OCURRE AQUÍ if(i == 100) number.push_front(temp); else { remainder = temp % 10; number.push_front(temp); } } } it = number.begin(); while(it != number.end()) cout << *it++; return 0; }
Marqué dónde ocurre la violación de segmento, además, sé que el loop se ejecuta varias veces, y al final entra en una violación de segmento y no entiendo por qué...
¿Alguien me podría explicar/ayudar?
Saludos!