Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Liczby doskonałe.

Ostatnio zmodyfikowano 2014-09-22 12:01
Autor Wiadomość
Anim
Temat założony przez niniejszego użytkownika
Liczby doskonałe.
» 2014-09-22 11:45:34
cześć. Mam do stworzenia program który znajduje liczby doskonałe. I w sumie cacy :) działa...ale nie do końca ;p

Zacząłem od znalezienia dzielników podanej liczby :

C/C++
#include <iostream>
#include <math.h>
using namespace std;


int main()
{
    int n;
    int a = 0;
    int suma = 0;
    float b;
    cout << "Podaj liczbe n = ";
    cin >> n;
    while( a <= n / 2 )
    {
        a++;
        b = n / a;
       
        if(( n % a ) == 0 )
             cout << "Calkowite dzielniki liczby n: " << a << "\n" << endl;
       
    }
}

Program działa, wypisuje dzielniki. Czyli teraz wypada, aby je sumował: dodałem sobie dwa wiersze  - po if-ie, oraz za pętlą

C/C++
#include <iostream>
#include <math.h>
using namespace std;


int main()
{
    int n;
    int a = 0;
    int suma = 0;
    float b;
    cout << "Podaj liczbe n = ";
    cin >> n;
    while( a <= n / 2 )
    {
        a++;
        b = n / a;
       
        if(( n % a ) == 0 )
             suma += a;
       
        cout << "Calkowite dzielniki liczby n: " << a << "\n" << endl;
    }
    cout << "suma = " << suma << "\n" << endl;
}

i w tym momencie ładnie sumuje dzielniki liczby - czyli można stwierdzić, czy liczba jest doskonała, czy też nie. Jednak przestało wypisywać dzielniki a wypisuje po prostu numer iteracji. Dlaczego tak się stało ?
P-117328
SeaMonster131
» 2014-09-22 11:49:48
C/C++
if(( n % a ) == 0 )
     cout << "Calkowite dzielniki liczby n: " << a << "\n" << endl;


C/C++
if(( n % a ) == 0 )
     suma += a;

cout << "Calkowite dzielniki liczby n: " << a << "\n" << endl;

Myślę, że różnica jest widoczna.
P-117329
Anim
Temat założony przez niniejszego użytkownika
» 2014-09-22 12:01:38
Nie wiem w sumie co miałem dojrzeć :) Pomyślałem o klamrach po if {}... i wiecie co ? zadziałało :) Także jak to miałem dojrzeć to dziękuję. Pół godziny siedzenia nad takim maleństwem :)
P-117330
« 1 »
  Strona 1 z 1