//Wczytać liczbnę naturalną n>=2. Program ma wypisać sumę dzielników
//pierwszych liczby n. Np dla n=126 ma być wypisana liczba 12=2+3+7
tyle że nie wypisuje on sumy dzielników , a wszystkie dzielniki oddzielnie , wie ktoś jak można to poprawić ?
Z góry dzięki .
Kod: Zaznacz cały
#include <iostream>
using namespace std;
int main()
{
int n;
int p;
int ostatniaWypisana=0;
cout<<"jaka liczba ? "<<endl;
cin>>n;
if(n<2)
{
do
{
cout<<"niewlasciwe dane"<<endl;
cout<<"podaj liczbe wieksza, rowna 2: "<<endl;
cin>>n;
}
while(n<2);
}
cout<<"dzielniki pierwsze to :"<<endl;
p=2;
while(p<=n)
{
if(!(n%p))
{
n/=p;
if(ostatniaWypisana!=p)
{
cout << p << endl;
ostatniaWypisana = p;
}
}
else p++;
}
system("pause");
return 0;
}