[C++] Szukanie liczb doskonałych
Ostatnio zmodyfikowano 2015-11-04 11:33
wowo95 Temat założony przez niniejszego użytkownika |
[C++] Szukanie liczb doskonałych » 2015-11-03 16:00:38 Witam Chciałem napisać program, który wypisze liczby doskonałe z przedziału od 1-100 ale nie mogę znaleźć i zrozumieć błędu w napisanym kodzie. Proszę o pomoc i krótkie wyjaśnienie gdzie popełniłem błąd. Pozdrawiam
#include<iostream> using namespace std; int main() { int tablica[100]; int n=0; int m=1; do { tablica[n]=m; n++; m++; }while(n<100);
int i=0; int c; int s=0; int g=0;
do { while(i<tablica[1+g]) { c=tablica[1+g]; if(tablica[1+g]%i==0) { s=s+i; if(s==c) { cout<<c<<", "; } } i++; } i=0; g++; }while(g<98);
return 0; }
|
|
darko202 |
» 2015-11-04 11:33:09 1. zacznij od problemu dzielenia przez 0
int i = 0; .... if(tablica[1+g]%i==0) // <-- tu dzielisz przez 0
2. po zakończeniu pętli nie zerujesz zmiennej s co powoduje, ze nie możesz spełnić warunku testu na liczbę doskonałą
np. 6 - najmniejsza liczba doskonała na starcie s = 7
|
|
« 1 » |