Я пытаюсь найти сумму всех делителей заданного числа Но я превысил лимит времени, помогите мне сократить срок этого кода.Есть ли способ сократить время выполнения этого кода?
int a,count=0;
cin>>a;
for(int i=2;i<=a/2;i++) {
if(a%i==0) {
count=count+i;
}
}
count++;
cout<<count;
Вы хотите, чтобы уменьшить временную сложность, или время выполнения? Это разные вещи. TLE обычно означает, что вы хотите сократить время выполнения, а не сложность времени. –
Хорошо, тогда я хочу уменьшить время выполнения ... есть ли какой-нибудь способ? .... и, как я уже упоминал, этот код вычисляет сумму всех делителей номера, который принимается как вход –
Есть ли у вас предположения относительно значение 'a'? возможно, использование нескольких потоков будет полезно здесь. –