Re[8]: каждый раз, когда вы пишете i++ + ++i...
От: Кодт Россия  
Дата: 18.06.14 22:22
Оценка:
Здравствуйте, Marty, Вы писали:

M>ЗЫЫЫ А какие страшные последствия в результате получились?


Сделал 112 итераций вместо 10, — и то, потому что 3x+1 для 27 имеет длину 112.
Именно эту последовательность я выбрал, потому что она, с одной стороны, легко делается, а с другой — по-прежнему не решена, и компилятору не хватит ума раскрутить цикл.

Если, например, вместо 3x+1 сделать
vector<int> v;
for(int i=0; i<10; ++i)
  v.push_back(i * 1000000000);

то последствия окажутся куда более жестокими. Процесс выжрет всю память. Причём на 32-битной машине он просто немножко потупит, когда в своп залезет, а вот на 64-битной — пока 16 терабайт не съест, не отступится. Что будет с остальными процессами и с диском, на котором своп-файл живёт, — лучше не думать...
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.