Dec. 5th, 2014
навалял в духе проекта Эйлер
Dec. 5th, 2014 03:53 pmКороче, есть, скажем, пять вопросов для экзамена, каждый в нескольких вариантах; задача - изготовить варианты, чтобы они максимально различались. Ну типа всех возможных будет 55, а мне надо 27, ну вот взять первые 27 из таких.
С таким смаком навалял это на скале. Типа такого:
С таким смаком навалял это на скале. Типа такого:
def findFurthest(current: List[Index])(collection: List[Index]) = collection.map(i => (distance(current)(i), i)).max(order)._2 def sortByDistance(source: List[Index], target:List[Index] = Nil): List[Index] = source match { case Nil => target case more => { val furthest = findFurthest(target)(source) sortByDistance(source.filterNot(furthest==), furthest::target) } } val sorted = sortByDistance(allIndexes).reverse
а вот и весь мой рендеринг
Dec. 5th, 2014 05:00 pmdef questionHTML(i: Int, q: String) = <span> <h3>Question {i+1}</h3>{q} <br/><br/><br/><br/><br/><br/> </span> def variantHTML(v: List[String]) = <p style="page-break-after:always;"> <h1><center>{title}</center></h1> {v.zipWithIndex map {case(q,j) => questionHTML(j,q)}} </p> def html(variants: List[List[String]]) = { <html><body>{ variants map variantHTML }</body></html> }