30 lines
590 B
Plaintext
30 lines
590 B
Plaintext
// A simple C program to calculate Euler's Totient Function
|
|
class Program {
|
|
|
|
// Function to return gcd of a and b
|
|
private int gcd(int $a, int $b) {
|
|
if($a == 0)
|
|
return $b;
|
|
return $this->gcd($b % $a, $a);
|
|
}
|
|
|
|
// A simple method to evaluate Euler Totient Function
|
|
private int phi(int $n) {
|
|
int $result = 1;
|
|
for(int $i = 2; $i < $n; $i++)
|
|
if($this->gcd($i, $n) == 1)
|
|
$result++;
|
|
return $result;
|
|
}
|
|
|
|
|
|
// Driver program to test above function
|
|
public int main() {
|
|
int $n;
|
|
for($n = 1; $n <= 10; $n++)
|
|
printf("phi(%d) = %d\n", $n, $this->phi($n));
|
|
return 0;
|
|
}
|
|
|
|
}
|