Informatică, întrebare adresată de Pitiq14, 9 ani în urmă

Salut, am o problemă care sumă așa:
"Calculează suma și produsul divizorilor primi ai unui număr 'n' citit de la tastatură"

Am încercat să o rezolv: #include
#include
#include
using namespace std;
unsigned long long n,i,suma,prim,produs,j;
int main()
{
cout<<"dati numarul = ";
cin>>n;
suma=0;
prim=0;
produs=1;
for (i=1;i<=n;i++)
{
if (n%i==0)
{
for (j=1;j<=(int)sqrt(i);j++)
{
if (i%j==0)
{
prim++;
}
if (prim==2)
{
produs=produs*i;
suma=suma+i;
prim=0;
}
}
}
}
cout< cout< }


dar nu-mi iese

Răspunsuri la întrebare

Răspuns de ardyarde
6
1. Cand scrii #include trebuie sa specifici ce vrei sa incluzi de exemplu #include <iostream> sau #include <math.h>.
2. Ai folosit cout corect ca sa afisezi "dati numarul" insa nu si ca sa afisezi rezultatele (ultima linie).
Se scrie astfel: 
cout<<suma<<endl; (endl este pentru a incepe rand nou)
cout<<produs; (nu mai ai nevoie de endl deoarece programul se opreste)

Acesta este programul:

#include<iostream>
using namespace std;
int n,i,suma=0,k=0,produs=1,j;
int main()
{
   cout<<"dati numarul: ";
   cin>>n;
   for(i=1;i<=n;i++)
   {
    k=0;
    if(n%i==0)
     for(j=1;j<=i;j++)
     {
     if(i%j==0)
     k++;
     }
     if(k==2){
        suma=suma+i;
        produs=produs*i;
     }
   }
   cout<<"suma divizori primi: "<<suma<<endl;
   cout<<"produs divizori primi: "<<produs;
}

Alte întrebări interesante