2
0
Fork 0
mirror of https://github.com/MartinThoma/LaTeX-examples.git synced 2025-04-26 06:48:04 +02:00
LaTeX-examples/documents/Programmierparadigmen/scripts/scala/04-ExactlyAThird.scala

34 lines
No EOL
917 B
Scala

import scala.math.pow
object ExactlyAthrid {
def main(arg: Array[String]) {
val digits = List(1, 2, 3, 4, 5, 6, 7, 8, 9);
for (c <- digits.combinations(4)) {
for(d <- c.permutations) {
// Get the numerator
var numerator = 0;
for((digit, place) <- d.zipWithIndex) {
numerator += digit
* pow(10, place).toInt;
}
// Get the denominator
var denominator = 3 * numerator;
// Check if all digits appear
// exactly once
var cdigits = numerator.toString
+ denominator.toString;
var cdigits_list = cdigits.toCharArray.
distinct;
// Print solution
if (cdigits_list.length == 9 &&
!cdigits_list.contains('0')){
println("%d / %d = 1/3".
format(numerator, denominator));
}
}
}
}
}