[ aleksandarciric @ 26.06.2012. 12:57 ] @
zdravo.
nadam se da je ovo pravi deo foruma za ovakvo pitanje.

imam problema sa zadatkom

Napisati program koji štampa prvih n Nivenovih brojeva (oni brojevi koji su deljivi sumom svojih cifara). Na primer,
za n = 15, štampati 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 18, 20, 21, 24.

ako bi neko mogao da mi pomogne, to bi bilo okeeeej
[ Nedeljko @ 27.06.2012. 00:23 ] @
A dokle si stigao?
[ miodrags @ 27.06.2012. 12:57 ] @
Napravi potprograme koji: generise proste brojeve, sabira cifre broja, proverava da li su dva broja deljivi.

Onda u glavnom programu pozoves u nekoj petlji redom ove potprograme i to je to !

[ mish_ns @ 27.06.2012. 19:11 ] @
Evo pomoći:

Kod za sumu cifara
Code:

int suma(int n)
{
    int br=0;
    while (n!=0)
    {
        br=br+n%10;
        n=n/10;    
    }
    return br;
}


Kod za ispitivanje da li je broj nivenov:
Code:

int brojJeNivenov( int n)
{
    if (n%suma(n)==0)
        return 1;
    else
        return 0;
}


Sad napiši main funkciju da bi dobio kompletno rešenje. Fora je da u petlji ispitaš da li je broj Nivenov.

[ S-man @ 25.10.2012. 22:04 ] @
Stara tema i autor je izgubio interes, ali ja sam malo sebi za vježbu rješio zadatak ovako

Code:
/* _______________________________________________________
    Program ispisuje prirodne brojeve od 0 do n, djeljive
    sa sumom svojih znamenki
   _______________________________________________________
*/


#include <iostream>
using namespace std;

int main()
{
    int limit,privremena,broj=1,znamenka,suma=0;

    cout<<"Unesi neki prirodan broj:    ";cin>>limit;

    while (broj<=limit)
    {
        privremena=broj;
        while (privremena!=0)
        {
            znamenka=privremena-((privremena/10)*10);
            suma=suma+znamenka;
            privremena=privremena/10;
        }

        if ((broj%suma)==0)
        {
            cout<<broj<<endl;
        }

        broj=broj+1;
        suma=0;

    }

    return 0;
}



Zanima me može li se jednostavnije i elegantnije (vjerovatno može) sa što manje varijabli.