//1007
import java.util.*
import kotlin.math.sqrt
fun main(args: Array<String>) {
//1 2 3 5 7 11
val kin = Scanner(System.`in`)
val a = kin.next().toInt()
when {
a<4 -> print(0)
//a < 7 -> print(1)
else -> {//start at 5
var count = 0
var p = 3
var q:Int
var pflag = true//p是否为素数
while (p<=a){
//q = p+2
if (pflag||p.isPrime()){//p是
q = p+2
pflag = if (q.isPrime() && q<=a) {//p q是
count++
//println("$p $q")
true
} else //p是q不是
false
} else{
pflag = false//end if
}
p+=2
}
print(count)
}
}
}
fun Int.isPrime():Boolean{
return when{
equals(1)->true
equals(2)->true
equals(3)->true
else -> {
val half = sqrt(this.toDouble()) +1
for (i in 3..half.toInt() step 2){
if (this%i == 0)
return false
}
return true
}
}
}
//1008
import java.util.*
fun main(args: Array<String>) {
val kin = Scanner(System.`in`)
val count = kin.next().toInt()
val revPos = kin.next().toInt()%count
//M是可能大于数组长度的,把%count去了能通过给的样例 但是有两个测试点答案错误
//浪费我两个小时...
val arrays = IntArray(count)
for (i in 0 until count)
arrays[i] = kin.nextInt()
reverse1(arrays,count-revPos,count-1)
reverse1(arrays,0,count-revPos-1)
reverse1(arrays,0,count-1)
for (i in 0 until count) {
print(arrays[i])
if (i!=count-1)
print(" ")
//arrays[i] = kin.nextInt()
}
}
fun reverse1(array: IntArray, start: Int, end: Int) {
var s = start
var e = end
while (s < e){
array[s]+=array[e]
array[e] = array[s]-array[e]
array[s] -=array[e]
s++
e--
}
}
//1009
import java.util.*
fun main(args: Array<String>) {
val kin = Scanner(System.`in`)
val stack = Stack<String>()
while (kin.hasNext()) {
stack.push(kin.next())
}
while (!stack.empty()){
print(stack.pop())
if (!stack.isEmpty())
print(" ")
}
}
//1010
import java.util.*
fun main(args: Array<String>) {
val kin = Scanner(System.`in`)
var isFirst = true
var x:Int
var y:Int
while (kin.hasNextInt()){
x = kin.nextInt()
y = kin.nextInt()
if (y == 0)
continue
if (!isFirst)
print(" ")
print("${x*y} ${y-1}")
isFirst = false
}
if (isFirst)
print("0 0")
}
//1011
//应该有别的方法的。。。
import java.util.*
fun main(args: Array<String>) {
val kin = Scanner(System.`in`)
var count = kin.next().toInt()
var a:Long
var b:Long
var c:Long
for (i in 1..count){
a = kin.next().toLong()
b = kin.next().toLong()
c = kin.next().toLong()
println("Case #$i: ${a+b >c}")
}
}
网友评论