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

[C++] Problem z wyświetlaniem wyników

Ostatnio zmodyfikowano 2017-09-07 21:46
Autor Wiadomość
Khyho
Temat założony przez niniejszego użytkownika
» 2017-09-03 21:21:39
Rzeczywiście, nie zwróciłem uwagi, że SPOJ potrzebuje mieć podane zmienne dokładnie w takiej kolejności jakie są w zadaniu. Zmyliło mnie też to, że zrozumiałem zadanie właśnie w taki sposób, że najpierw podajemy zmienne, a wyniki na końcu. Wymyśliłem taki kod i teraz spoj zalicza :)

C/C++
#include <iostream>

using namespace std;
int liczbaProb, szukaneliczby, podzielnaprzez, niepodzielnaprzez, zakres;

int main()
{ cin >> liczbaProb;
   
    for( int i = 1; i <= liczbaProb; i++ )
    { cin >> zakres >> podzielnaprzez >> niepodzielnaprzez;
        for( szukaneliczby = 1; szukaneliczby <= zakres; szukaneliczby++ )
        {
            if( szukaneliczby % podzielnaprzez == 0 && szukaneliczby % niepodzielnaprzez != 0 )
                 cout << szukaneliczby << endl;
           
        }
       
       
    }
    return 0;
}

Dziękuje wszystkim za zwrócenie uwagi na błędy jakie robiłem i nakierowanie na właściwą odpowiedź :D
P-164567
mateczek
» 2017-09-03 22:14:17
C/C++
#include <iostream>
using namespace std;
int main() {
    int liczbaProb;
    cin >> liczbaProb;
    while( liczbaProb-- ) {
        int n, x, y;
        cin >> n >> x >> y;
        for( int ai = x; ai < n; ai += x ) { //nie trzeba sprawdzać każdej liczby. W innych zadaniach takie rozrzutne podejście Ci się nie sprawdzi i spoj Ci nie zaliczy.
            if( ai % y == 0 ) continue;
           
            cout << ai << " ";
        }
        cout << endl;
    }
}
P-164568
Khyho
Temat założony przez niniejszego użytkownika
» 2017-09-04 20:28:50
Czyli jeżeli dobrze rozumiem tę część
C/C++
if( ai % y == 0 ) continue;

cout << ai << " ";

to jeżeli poszukiwania liczba jest podzielna przez Y (a ma nie być) to wtedy program kontynuuje pętle, a w przeciwnym wypadku wykonuje się druga linijka, tak? (wiem, pytanie wielkiego laika :D)
P-164597
mateczek
» 2017-09-04 20:56:57
tak jak napisałeś "continue" sprawia że pętla przechodzi od razu do kolejnej iteracji

Ale równie dobrze pętla może wyglądać tak.
C/C++
for( int ai = x; ai < n; ai += x ) {
    if( ai % y != 0 )
         cout << ai << " ";
   
}
Tylko podzielność prze jedną liczbę "Y" musisz sprawdzić. Liczby podzielne przez "x" generujesz w pętli dodając "x" w każdym obiegu  (ai=ai+x)
P-164598
Khyho
Temat założony przez niniejszego użytkownika
» 2017-09-07 21:46:59
Teraz rozumiem :)
P-164711
1 « 2 »
Poprzednia strona Strona 2 z 2