zwracanie liczby której suma cyfr jest dana
Ostatnio zmodyfikowano 2015-07-23 13:22
wilczynski87 Temat założony przez niniejszego użytkownika |
zwracanie liczby której suma cyfr jest dana » 2015-07-22 23:42:48 Hej koderzy, Siedze już nad tym drugi dzień i zastanawiam się co jest nie tak. Program ma wypluwać daną ilość liczb, których suma cyfr jest == np. 100. Kod wyskrobałem taki: #include <iostream>
int liczba, ile_liczb; int L = 0; int stop = 0; int tab[ 80 ];
int suma( int liczba ); void wypisz( int tab[ 80 ] );
using namespace std;
main() { cout << "Program zwraca n kolejnych liczb, ktorych suma cyfr == 100" << endl; cout << "Podaj ile liczb ma byc zwroconych: "; cin >> ile_liczb; while( stop < ile_liczb ) { do { L++; } while( suma( L ) != 100 ); tab[ stop ] = L; stop++; } wypisz( tab ); return 0; }
int suma( int liczba ) { int wynik = 0; do { wynik = wynik + liczba % 10; liczba = liczba / 10; } while( liczba != 0 ); return wynik; }
void wypisz( int tab[ 80 ] ) { for( int q = 0; q < stop; q++ ) { cout << tab[ q ] << " "; } } Co w nim nie halo? |
|
Monika90 |
» 2015-07-23 00:10:06 Najmniejsza liczba której suma cyfr jest równa 100 to 199999999999, a największy int to - sprawdź sobie w dokumentacji. Tak się nie robi. |
|
wilczynski87 Temat założony przez niniejszego użytkownika |
» 2015-07-23 00:35:08 Czyli jak można by to ugryźć, aby program wypluwał to co ma wypluwać? |
|
pekfos |
» 2015-07-23 13:22:59 Użyj liczb 64-bitowych. |
|
« 1 » |