c++代码for函数欧拉函数
时间: 2023-11-28 16:46:22 浏览: 79
C++实现的欧拉放大代码
以下是C++代码实现欧拉函数的for循环版本:
```c++
#include <iostream>
#include <math.h>
#define maxsize 100
using namespace std;
typedef struct node {
int num;
int total;
} struct_num;
struct_num a[maxsize];
int is_prime(int n) {
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int phi(int n) {
int res = n;
for (int i = 2; i <= n; i++) {
if (is_prime(i) && n % i == 0) {
res = res / i * (i - 1);
while (n % i == 0) {
n /= i;
}
}
}
if (n > 1) {
res = res / n * (n - 1);
}
return res;
}
int main() {
int n;
cin >> n;
while (n--) {
int x;
cin >> x;
cout << phi(x) << endl;
}
return 0;
}
```
阅读全文