Informatică, întrebare adresată de ylynka76, 8 ani în urmă

Se citeste un numar natural n. Sa se determine suma divizorilor impari ai sai. Rezolvare in pseudocod va rog !

Anexe:

Răspunsuri la întrebare

Răspuns de Voden
6

Pseudocod

  Început

citește n;

S1=0;

S2=0;

┌ pentru ( d  \to\frac{}{1,n/2} )

 |  ┌ dacă(n MOD d = 0)

 |    |   ┌ dacă(d MOD 2 <> 0)

 |    |    |  S1=S1+d;

 |    |   └■

 |  └■

└■

┌ dacă (n MOD 2 <> 0)

 | S2=S2+n;

└■

S=S1+S2;

scrie S;

Sfârșit

____________________

C++

#include <iostream>

using namespace std;

int main()

{int n,d,S1,S2,S;

cout<<"n=";

cin>>n;

S1=0;

S2=0;

for(d=1;d<=n/2;d++)

   {if(n%d==0)

   if(d%2!=0)

       S1=S1+d;}

{if(n%2!=0)

   S2=S2+n;}

   S=S1+S2;

   cout<<S;

   return 0; }

*Am atașat și o fotografie cu rularea programului pentru a observa că funcționează.

D₁₀₀={1, 2, 4, 5, 10, 20, 25, 50, 100}

suma divizorilor impari ⇒ 1+5+25=31

D₇₅={1, 3, 5, 15, 25, 75}

duma divizorilor impari ⇒ 1+3+5+15+25+75=124

#copaceibrainly

Anexe:
Alte întrebări interesante