Ce este gresit la programul meu? Cerinta este: Programul citește de la tastatură numărul n. Programul afișează pe ecran numărul S, reprezentând suma divizorilor impari ai lui n. Date de intrare: 30; date de iesire: 24. Am construit programul, insa suma divizorilor mei impari imi iese 55 atunci cand rulez programul si nu inteleg de ce...Asta e programul meu:
Răspuns:
Sigur ai greșit ceva pe acolo. Corect ar fi:
int main()
{
int n, s = 0, i;
cin >> n;
for (i = 1; i <= n; i++)
if (n % i == 0 && n % 2 != 0) s += i;
cout << s;
}
Nu înțeleg de ce ai pus s+=n/d;