Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int nzd(int a, int b) {
- int min = a < b ? a : b; // manji broj
- // trazimo najveci broj koji moze da podeli oba argumenta
- for (int i = min; i > 0; i--) {
- // vracamo prvi (najveci) na koji naidjemo
- if (a % i == 0 && b % i == 0) {
- return i;
- }
- }
- // ako nismo nasli ni jedan drugi,
- // 1 uvek moze da podeli oba broja
- return 1;
- }
- // broj uzajamno prostih brojeva sa n
- // brojevi su izmedju 1 i n
- int ojler(int n) {
- int rez = 0; // broj uzajamno prostih brojeve
- for (int i = 1; i < n; i++) {
- // brojevi su uzajamno prosti
- // ako im je nzd = 1
- if (nzd(i, n) == 1) {
- rez++; // nasli smo uzajamno prost broj sa n
- }
- }
- return rez;
- }
- int main() {
- int m;
- cout << "Unesite m: ";
- cin >> m;
- cout << ojler(m) << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement