class Sieve {
val magicnum: Int = 10001
fun buildSieve(startNumber: Int = 1, endNumber: Int = 100000): ArrayList {
var map = arrayListOf(NumObjects("na", 0))
for (i in startNumber..endNumber) {
map.add(NumObjects("na", i))
}
return map
}
fun doIncrement(iteration: Int, array:ArrayList<NumObjects>):ArrayList<NumObjects>{
for(i in iteration..array.size step iteration){
if(i+ iteration > array.size) {
break;
}
array[i].hit="hit"
}
return array
}
fun doSieve(): Int {
var sieveArray = buildSieve()
val iterators: Array<Int> = arrayOf(2, 3, 5, 7)
iterators.forEach {
sieveArray = doIncrement(it, sieveArray)
}
var aff = sieveArray.filter{s-> s.hit == "na"}
println(aff.get(ass.size-1).num)
return aff.elementAt(magicnum-1).num
}
}
class NumObjects(hit:String,num:Int){
var hit: String = hit
var num: Int = num
}
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Using sieve of Eratosthenes method
class Sieve {
val magicnum: Int = 10001
fun buildSieve(startNumber: Int = 1, endNumber: Int = 100000): ArrayList {
var map = arrayListOf(NumObjects("na", 0))
for (i in startNumber..endNumber) {
map.add(NumObjects("na", i))
}
return map
}
}
class NumObjects(hit:String,num:Int){
var hit: String = hit
var num: Int = num
}