[c++]suma dzielników
Ostatnio zmodyfikowano 2015-02-02 18:46
pgpgpg Temat założony przez niniejszego użytkownika |
[c++]suma dzielników » 2015-02-02 17:32:54 Za pierwszym razem mi pomogliście i udało mi się rozwiązać mój problem. Teraz niestety nie mam pomysłu i się męczę.... Mam do napisania program który znajdzie liczbę należącą do przedziału 1..10000, której suma podzielników jest maksymalna. Udało mi się wyznaczyć ich dzielniki ale nie umiem ich zsumować... Zawsze podstawia mi ostatni dzielnik co jest błędem. Wklejam kod. Jest on już trochę przeczyszczony i brakuje w nim właśnie sumy i wypisywania liczb. Z chęcią wysłucham wszelkich rad i podpowiedzi. Na razie próbowałem tylko na zakresie 1..10 bo jakby na tym poszło to i na większym tez ;) #include <cstdlib> #include <iostream> #include <conio.h>
using namespace std;
int main() { int x = 10; int z = 0; int a = 0; int i; int max = 0; int suma = 0; for( int i = 1; i <= x; i++ ) { cout << "\n\nLiczba " << i << " jej dzielniki to: "; for( int k = 1; k <= x; k++ ) { if( i % k == 0 ) { cout << "\n " << k; } } cout << "\nich suma to: " << a << endl; } cout << "\n\n najwieksza liczba to: " << suma << endl; cout << "\nsuma jej podzielnikow to: " << z << endl; getch(); } |
|
michal11 |
» 2015-02-02 18:01:26 Po 1. wstawiaj kod w znaczniki Po 2. nazywaj inaczej zmienne, bo takie a, b, c to nie wiadomo o co chodzi Po 3. Właściwy problem: Stwórz sobie 2 zmienne np. maxSuma, maxLiczba pod które będziesz zapisywał max sumę dzielników danej maxLiczby. Sumowanie dzielników do zmiennej pomocniczej (np. sumaPom) powinieneś robić w tym ifie if( i % k == 0 ) . Później jak już wyjdziesz z tego for( int k = 1; k <= x; k++ ) fora musisz sprawdzić czy aktualna suma (sumaPom) jest większa od dotychczasowej sumy (maxSuma). Jeżeli tak to podstaw pod maxSuma aktualna sumę a pod maxLiczba aktualna liczbe dla której szukałeś dzielników (w twoim przypadku będzie to i). Nie zapomnij o inicjalizacji zmiennych zerami. |
|
pgpgpg Temat założony przez niniejszego użytkownika |
» 2015-02-02 18:24:48 dzięki za odpowiedź. Ale mam pytanie. Jeżeli mam SumPom to jak zrobić to w ifie by mi sumowało kolejne dzielniki? |
|
michal11 |
» 2015-02-02 18:27:38 sumPom+=k; |
|
pgpgpg Temat założony przez niniejszego użytkownika |
» 2015-02-02 18:46:39 Dzięki wielkie za pomoc ;) udało się zrobić :) |
|
« 1 » |