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
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;
}
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
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă