C++ Liczby względnie pierwsze.

0
                                                       Witam

Mam problem nie mogę rozwiązać zadania.Obejrzałem kilka forum i się trochę poduczyłem.Co mam źle w tym kodzie?

#include 
<iostream>

using namespace std;

int nwd (int a, int b){
    int tmp;
    while (b != 0) {
                tmp = a % b;
                a = b;
                b = tmp;
    }
    return a;
}

int main () {
        int n, licznik=1;
        cin >> n;
        for (int i=1; i<=n; i++) {
                if (nwd(n, i)==1) {
                        licznik++;
                }
        }
        cout << licznik;
    return 0;
}
 

Treść zadania :):
[06b] Liczby względnie pierwsze
Języki: cpp java
Limit czasu: 3.0 s
Limit pamięci: 16 MB
Limit rozmiaru rozwiązania: 1000 kB

Napisz program, który obliczy ilość liczb względnie pierwszych mniejszych lub równych podanej na wejściu liczbie naturalnej (liczba jest mniejsza od 10000).
Przykładowe dane
Wejście:

9

Wyjście:

6

Wytłumaczenie: dwie liczby są względnie pierwsze, gdy największym wspólnym dzielnikiem tych dwóch liczb, jest 1. Dla 9 liczbami względnie pierwszymi (mniejszymi od 9) są: 1, 2, 4, 5, 7, 8.

Proszę chociaż spróbujcie mi pomóc.

Jak co online na GG:494 586 1

Pzdr.
Edit:W c++ oczywiscie :]

0

a co ci nie działa? Dlaczego podajesz swoje gg? Dlaczego licznik inicjalizujesz jedynką?

0

Tak zrozumialem to zadanie ;/.
podaje gg jakby ktos nie chcial tutaj pisac ttylko na gg
pan tak mi napisal

0

Sory ,że post pod postem.Odświerzam!!
Kto wie,i chce podac rozwiazanie niech napisze!

0
 #include <iostream>

using namespace std;

int nwd (int a, int b){
    int tmp;
    while (b != 0) {
                tmp = a % b;
                a = b;
                b = tmp;
    }
    return a;
}

int main () {
        int n, licznik=0;
        cin >> n;
        for (int i=0; i<n; i++) {
                if (nwd(n, i)==1) {
                        licznik++;
                }
        }
        cout << licznik;
    return 0;
}

Małe błędy były :)

0

@matek3005 napisał Ci co jest źle.

int licznik = 0;
//albo
for (int i=2; i<=n; i++)
0

Dzięki ziom.
Można tu jakieś piwa czy cuś dawać xD

1 użytkowników online, w tym zalogowanych: 0, gości: 1