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

Se citeste un numar n.Afisati toate numerele naturale pare mai mici sau egale cu n.
Se da un numar natural n.Sa se calculeze produsul divizorilor lui mai mici decat el.
Se da un numar intreg n.Afisati media cifrelor numarului.


grigore2018: Cred ca pentru C++ ar fi asa ceva,nu sunt sigur 100% : )))
grigore2018: #include
#include

using namespace std;
int main()
{
int X;
cout << "Scrie un numar: ";
cin >> X;

for (int i(2); i <= X; i += 2)
cout << i << endl;
_getch();
return 0;
}
grigore2018: Acest program afiseaza numerele din intervalul 1..n
grigore2018: Daca ai nevoie in Pascal atunci: var
n,i:integer;
begin
read(n);
for i:=1 to n do
if (i mod 2=0) then
writeln(i);
end.
grigore2018: A doua cerinta in Pascal ar fi asa:
var
a,i,n:integer;
begin
write('Numarul n=');
a:=1;
readln(n);
for i:=1 to n do
if (n mod i=0) then
a:=a*i;
writeln('Produsul=',a);
readln;
end.
grigore2018: A treia cerinata Pascal:
var
c,p, Suma, n: integer;
begin
Suma:=0;
p:=0;
readln(c);
while c > 0 do
begin
n:=c mod 10;
Suma:=Suma+n;
c:=c div 10;
inc(p);
end;
writeln('Suma cifrelor: ', Suma);
writeln('Numarul de cifre: ', p);
writeln('Media aritmetica a cifelor : ', Suma / p);
end.
boiustef: o observatie... la cerinta II se face produsul divizorilor mai mici ca n, tu din neatentie ai luat si numarul dat...
de exemplu daca numarul introdus este 18, atunci se inmultesc divizorii 1,2,3,6,9

Răspunsuri la întrebare

Răspuns de boiustef
0

#include <iostream>

using namespace std;

long long n, i, d, p=1, nr, suma, cif;

int main()

{

   cout << "n= "; cin >> n;

   cout << "pare <=n :  ";

   for (i=0; i<=n; i+=2)

       cout << i << " ";

   cout << endl;

   for (d=2; d*d<=n; ++d)

   {

       if (n%d==0)

           { p=p*d; p=p*(n/d); }

   }

   cout << "produsul divizorilor= " << p << endl;

   while (n>0)

   {

       cif=n%10; ++nr;

       suma=suma+cif;

       n=n/10;

   }

   cout << "media cifrelor= " << 1.0*suma/nr;

}

Alte întrebări interesante