Greg Utas
Если вы когда-нибудь решите снова отправить код, Пожалуйста, будьте любезны прокомментировать его.
Комментарий выглядит примерно так:
// The following code does blah blah blah...
Я взглянул на код, но у меня не хватило терпения после ужина с вином попытаться понять, что он пытается сделать, что, к сожалению, является необходимым условием для того, чтобы быть в состоянии помочь. Конечно, я мог бы потратить много минут, изучая его, но, честно говоря, я не мог бы беспокоиться, когда он даже не прокомментирован.
Edit1: Спасибо за описание того, что пытается сделать ваш код. Вот некоторые предложения:
1. Как вы могли бы устранить
if(i == 1)
проверить?
2. Если вы удалили
a
всецело, как ты мог писать
sum = sum + a
?
3. если 1 разрешен в качестве делителя, как вы можете упростить инициализацию
sum1
и
for(int j = 1…)
петля?
4. В
for(int j = 1, j < i…)
, как вы могли бы уменьшить максимальное значение
j
?
Edit2: Если бы вы знали результат
i/j
, какова была бы точка остановки
for(int j…)
петля?
Вероятно, существуют и другие оптимизации, основанные на анализе, такие как числа, которые могут быть немедленно исключены, если они не делятся на 2 и 3, но это начинает затягивать столько же математики, сколько и программного обеспечения, что может и не быть намерением.