숫자의 모든 제수의 합계를 찾고 싶습니다. 즉, 숫자가 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