copyloc
@copyloc
Человек то я не глупый, просто притворяюсь

Как пользоваться функцией Эйлера на С++?

Совсем не могу понять, как ей пользоваться. Функцию int я списал из книги.

#include <iostream>
#include <conio.h>
using namespace std;

	int phi (int n) {
		int result = n;
		for (int i=2; i*i<=n; ++i){
			if (n % i == 0) {
				while (n % i == 0)
					n /= i;
				result -= result / i;
			}
		}
		if (n > 1){
			result -= result / n;
		}
		return result;
	}

int main(){
	/*что-то*/
	_getch();
	return 0;
}


Подскажите, как дописать код до рабочего состояния.
  • Вопрос задан
  • 3409 просмотров
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
во-первых это функция phi, которая возвращает int. Во вторых, почитайте в википедии что вообще делает эта функция, и вопрос отпадет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
copyloc
@copyloc Автор вопроса
Человек то я не глупый, просто притворяюсь
Все понятно, немного не так понимал эту Функцию.
#include <iostream>
#include <conio.h>
using namespace std;

	void phi(){
		int n,result;
		cin >> n;
		result = n;
		for (int i = 2; i*i <= n; ++i){
			if (n % i == 0){
				while (n % i == 0){
					n /= i;
				}
					result -= result / i;
			}
		}
		if (n > 1){
			result -= result / n;
		}
		cout << result;
	}

int main(){
	phi();
	_getch();
	return 0;
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы