[c++] - suma dzielników pierwszych

raven168in1
Użytkownik
Użytkownik
Posty: 7
Rejestracja: 15 cze 2011, o 10:40
Płeć: Mężczyzna
Lokalizacja: Ostrołęka

[c++] - suma dzielników pierwszych

Post autor: raven168in1 »

Zrobiłem program o następującej treści :

//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;    
}
mikkuexc
Użytkownik
Użytkownik
Posty: 65
Rejestracja: 19 maja 2011, o 20:33
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 1 raz
Pomógł: 5 razy

[c++] - suma dzielników pierwszych

Post autor: mikkuexc »

Stwórz zmienną suma do której będziesz dodawał każdy nowo napotkany dzielnik. Możesz to zrobić w pętli while.
ODPOWIEDZ