Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int nzd(int a, int b) {
  5. int min = a < b ? a : b; // manji broj
  6. // trazimo najveci broj koji moze da podeli oba argumenta
  7. for (int i = min; i > 0; i--) {
  8. // vracamo prvi (najveci) na koji naidjemo
  9. if (a % i == 0 && b % i == 0) {
  10. return i;
  11. }
  12. }
  13.  
  14. // ako nismo nasli ni jedan drugi,
  15. // 1 uvek moze da podeli oba broja
  16. return 1;
  17. }
  18.  
  19. // broj uzajamno prostih brojeva sa n
  20. // brojevi su izmedju 1 i n
  21. int ojler(int n) {
  22. int rez = 0; // broj uzajamno prostih brojeve
  23. for (int i = 1; i < n; i++) {
  24. // brojevi su uzajamno prosti
  25. // ako im je nzd = 1
  26. if (nzd(i, n) == 1) {
  27. rez++; // nasli smo uzajamno prost broj sa n
  28. }
  29. }
  30.  
  31. return rez;
  32. }
  33.  
  34. int main() {
  35. int m;
  36. cout << "Unesite m: ";
  37. cin >> m;
  38.  
  39. cout << ojler(m) << endl;
  40.  
  41. return 0;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement