文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Go 语言中如何找到第 n 个回文素数

2024-04-04 23:47

关注

在Golang实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天编程网就整理分享《Go 语言中如何找到第 n 个回文素数》,聊聊,希望可以帮助到正在努力赚钱的你。

问题内容

我对 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)


正确答案


质数是只有 2 个因数的数字:1 和它们本身,这意味着如果数字 n 是质数,则它不能被 2sqrt(n) 范围内的任何数字整除。但在你的代码中,我看到

if currNum%i == 0 {
        isPrime = true
        ...
}

如果 currnum 能被 i 整除,且 i 的范围在 2sqrt(n) 之间,那么为什么 currnum 是素数?这是不对的。如果 currnum 满足此条件,则它必须是非素数。 此外,我没有看到 var number 的分配,因此它的零值 0 也会使 palindromenumber = 0

我认为您应该将素数检查和回文检查保留在两个单独的函数中,以避免代码中出现混淆(例如 func isprimefunc ispalindrome)。

您的主要问题是变量 数量。您创建了它,也许您想在使用 number 计算还原之前将 currnum 复制到 number 中,但您没有这样做。

以上就是《Go 语言中如何找到第 n 个回文素数》的详细内容,更多关于的资料请关注编程网公众号!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯