LINUX.ORG.RU

История изменений

Исправление Legioner, (текущая версия) :

если i * j > rsum - i - j, то i * (j + 1) > rsum - i - (j + 1). Т.е. внутренний цикл делай от 1 до n и прерывай сразу, как только превысило. Также можно начинать внутренний цикл от i, чтобы зеркальные дубликаты не учитывать. Также можно посчитать верхнюю границу цикла для i.

Исправление Legioner, :

если i * j > rsum - i - j, то i * (j + 1) > rsum - i - (j + 1). Т.е. внутренний цикл делай от 1 до n и прерывай сразу, как только превысило. Также можно начинать внутренний цикл от i, чтобы зеркальные дубликаты не учитывать.

Исходная версия Legioner, :

если i * j > rsum - i - j, то i * (j + 1) > rsum - i - (j + 1). Т.е. внутренний цикл делай от 1 до n и прерывай сразу, как только превысило.