Я хочу найти сумму всех делителей числа i.e, если число равно 6, я хочу иметь 1 + 2 + 3 + 6 = 12. Моя попытка подойти к нему является:Сумма всех целочисленных делителей числа
#include <iostream>
using namespace std;
int divisorsSum(int n){
int sum=0;
for (int i=1; i<=n; i++){
if(n%i==0)
i=sum+i;
}
return sum;
}
int main()
{
cout<<divisorsSum(6);
}
Однако удивительно, что не работает на всех, она ничего не возвращает, и я не могу понять, что случилось с моим кодом.
Таким образом, возникает вопрос, как заставить его работать? BTW: Нет смысла сразу же голосовать за все, что я не эксперт, и да, я делаю ошибки.
1 + 2 + 3 + 6 = 12. Не 11. – user3437460
i = i? Это не определено. –
'i = sum + i;' должно быть 'sum = sum + i' или даже лучше' sum + = i; '. – NathanOliver