求助
查看原帖
求助
278124
Caviar_X楼主2021/5/13 13:01

花了1h调代码,TLE我能接受,为啥WA啊

// P1217
package main

import (
    "fmt"
    "math"
    "strconv"
//  "time"
)

func Reverse(str string) string {
    r := []rune(str)
    for i, j := 0, len(r)-1; i < j; i, j = i+1, j-1 {
        r[i], r[j] = r[j], r[i]
    }
    return string(r)
}
func Isprime(n int) bool {
    var result bool = true
    if n == 2 || n == 3 {
        return true
    }
    if n%6 != 1 && n%6 != 5 {
        return false
    }
    for i := 5; i <= int(math.Floor(math.Sqrt(float64(n)))); i += 6 {
        if n%i == 0 && n%(i+2) == 0 {
            result = false
            break
        }
    }
    return result
}

func Find(n, m int) {
    //t1 := time.Now()
    for i := n; i <= m; i++ {
        if Reverse(strconv.Itoa(i)) == strconv.Itoa(i) && Isprime(i) {
            fmt.Println(i)
        }
    }
    //t2 := time.Now()
    //fmt.Println("cost ", t2.Sub(t1))
}
func main() {
    var a, b int
    fmt.Scan(&a, &b)
    Find(a, b)
}
2021/5/13 13:01
加载中...