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 :]