我是 Go 的新手,我试图找到第 n 个回文素数,但它总是返回 0,我在这里做错了什么,我的代码输出应该是 131。
为了清楚起见,下面我将给出 n 的样本及其返回值。
n:1,输出:2
n:2,输出:3
n:3,输出:5
n:5,输出:11
n:6,输出:101
n:7,输出:111
n:8,输出:151
n := 7
counter := 0
currNum := 1
palindromeNumber := 0
for counter < int(n) {
currNum++
isPrime := false
for i := 2; i <= int(math.Sqrt(float64(currNum))); i++ {
if currNum%i == 0 {
isPrime = true
var number, remainder, temp int
var reverse int = 0
temp = currNum
// For Loop used in format of While Loop
for {
remainder = number % 10
reverse = reverse*10 + remainder
number /= 10
if number == 0 {
// Break Statement used to exit from loop
break
}
}
if temp == reverse {
palindromeNumber = reverse
}
break
}
}
if !isPrime {
counter++
}
}
return int64(palindromeNumber)
智慧大石
catspeake
相关分类