12345678910111213141516171819202122232425262728 |
- #!/usr/bin/ruby
- # Daniel "Trizen" Șuteu
- # Date: 14 January 2017
- # License: GPLv3
- # https://github.com/trizen
- # https://projecteuler.net/problem=182
- # Runtime: 18.471s (previously 45.963s)
- var p = 1009
- var q = 3643
- var phi = (p - 1)*(q - 1)
- var sum = 0
- for e in (2 .. phi-1) {
- if (e.is_coprime(phi)) {
- if ((gcd(e - 1, p - 1) == 2) &&
- (gcd(e - 1, q - 1) == 2)) {
- sum += e
- }
- }
- }
- say sum
|