每周一道算法题001:回文数-程序员宅基地

技术标签: golang  php  

题目:

找出大于10的最小的2进制,8进制,10进制都是回文数的最小的数。回文数指的是正读和反读都是一样的数,例如:33,10001,123454321...

思路:

先转换进制,然后统一处理成字符串进行比较

解答:

PHP

function execute(){
    $x = 11;
    while (1) {
        if ($x == strrev($x)
            && decbin($x) == strrev(decbin($x))
            && decoct($x) == strrev(decoct($x))) {
            break;
        }
        $x += 2;
    }
    return $x;
}

$result = execute();
echo $result;

golang

package main

import (
    "fmt"
    "strconv"
)

func main() {
    result := Execute()
    fmt.Println(result)
}

func Execute() string {
    xStr := ""
    for x := 11; ; x += 2 {
        xStr = strconv.Itoa(x)
        xBin := strconv.FormatInt(int64(x), 2)
        xOct := strconv.FormatInt(int64(x), 8)
        if xStr == Reverse(xStr) && xBin == Reverse(xBin) && xOct == Reverse(xOct) {
            break
        }
    }
    return xStr
}

// 字符串翻转
func Reverse(s string) string {
    runes := []rune(s)
    for from, to := 0, len(runes)-1; from < to; from, to = from+1, to-1 {
        runes[from], runes[to] = runes[to], runes[from]
    }
    return string(runes)
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/baoli1912/article/details/100949636

智能推荐

面试题:synchronized与Lock的区别_synchronized和lock锁的区别 面试-程序员宅基地

文章浏览阅读284次。面试题:synchronized与Lock的区别synchronized是关键字,而Lock是一个接口。synchronized会自动释放锁,而Lock必须手动释放锁。synchronized是不可中断的,Lock可以中断也可以不中断。通过Lock可以知道线程有没有拿到锁,而synchronized不能。synchronized能锁住方法和代码块,而Lock只能锁住代码块。Lock可以使用读锁提高多线程读效率。synchronized是非公平锁,ReentrantLock可以控制是否是公平锁_synchronized和lock锁的区别 面试

(超详细)python环境安装-程序员宅基地

文章浏览阅读5w次,点赞64次,收藏230次。面向于python学习路上的小白学习如何安装python环境_python环境安装

Java 诊断工具 Arthas 常见命令(超详细实战教程)-程序员宅基地

文章浏览阅读3.1k次。点击关注公众号,利用碎片时间学习基本概念云原生这么多微服务,当然需要一个诊断利器来排查问题。Arthas 是阿里开源的 Java 诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪 Java 代码;实时监控 JVM 状态。Arthas 支持 JDK 6+,支持 Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便..._java -jar arthas-boot.jar

系统编程概念(文件系统mount等函数的使用)-程序员宅基地

文章浏览阅读152次。挂载文件系统#include<sys/mount.h>int mount(const char *source,const char *target,const char *fstype,unsigned long mountflags,const void *data)其中mountflags的值可为: MS_BIND 建立绑定挂载,会忽略fstype,..._ms_nodev

zkcli远程连接_如何启动hbase 自带了一个 zkcli?-程序员宅基地

文章浏览阅读176次。红颜莎娜常用到的HBase启动脚本有:1.$HBASE_HOME/bin/start-hbase.sh启动整个集群2.$HBASE_HOME/bin/stop-hbase.sh停止整个集群3.$HBASE_HOME/bin/hbase-daemons.sh启动或停止,所有的regionserver或zookeeper或backup-master4.$HBASE_HOME/bin/hbase-dae..._cli 链接 hbase

第七十四题 UVA10474 大理石在哪儿 Where is the Marble?_如果marble的编码207114,labour-程序员宅基地

文章浏览阅读237次。Raju and Meena love to play with Marbles. They have got a lot ofmarbles with numbers written on them. At the beginning, Raju wouldplace the marbles one after another in ascending order of the number..._如果marble的编码207114,labour

随便推点

王道之数据结构顺序表1.从顺序表中删除具有最小值的元素_王道从顺序表中删除具有最小值的元素(假设唯一)-程序员宅基地

文章浏览阅读3.7w次,点赞3次,收藏17次。题目要求:从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删除的元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示错误信息并退出/*从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删除的元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示错误信息并退出*/#include <iostream>#include <cstring>..._王道从顺序表中删除具有最小值的元素(假设唯一)

3.4 《数据库系统概论》之数据查询---SELECT(单表查询、连接查询、嵌套查询、集合查询、多表查询)_种单表查询、分组统计查询和连接查询、嵌套查询合和集 合查询-程序员宅基地

文章浏览阅读3w次,点赞206次,收藏369次。文章目录0.前言1.思维导图2.Student/SC/Course表数据及结构3.SELECT语句的一般格式4.单表查询(1)选择表中的若干列① 查询指定列② 查询全部列③ 查询经过计算的值❶ 算术表达式❷ 字符串常量及函数❸ 使用列别名改变查询结果的列标题(2)选择表中的若干元组(行)① 关键词DISTINCT去掉表中重复的行② 查询满足条件的元组(行)❶ 比较大小❷ 确定范围❸ 确定集合❹ 字..._种单表查询、分组统计查询和连接查询、嵌套查询合和集 合查询

ABAP创建修改物料主数据BAPI_MATERIAL_SAVEDATA报错计量单位******未定义 (请检查你的输入)_abap 物料修改bapi-程序员宅基地

文章浏览阅读445次,点赞13次,收藏8次。ABAP创建修改物料主数据BAPI_MATERIAL_SAVEDATA报错计量单位******未定义 (请检查你的输入)_abap 物料修改bapi

outlook2013升级_如何在Outlook 2013中创建和管理联系人-程序员宅基地

文章浏览阅读1.2k次。outlook2013升级Outlook isn’t much use if you don’t have contacts. Sure, you can enter email addresses as you go, but that’s time-consuming and error-prone. It’s better to have your contacts already in O..._outlook2013邮箱能使用本地通讯录地址

Pycharm下载与安装教程_pycharm 下载-程序员宅基地

文章浏览阅读5.6w次,点赞84次,收藏551次。PyCharm是一种Python IDE(Integrated Development Environment,集成开发环境)​ PyCharm拥有一般IDE具备的功能,比如, 调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制_pycharm 下载

web开发中,后台数据获取到了,前端显示不出来_java-web能拿到数据库内的数据但是不能显示在前端-程序员宅基地

文章浏览阅读2.3w次,点赞12次,收藏13次。一开始我以为是后台没有获取到数据,写了几个输出语句测试发现数据是能获取到的,那就是显示的问题,检查了各个属性发现都是对的,后来突然发现我的遍历显示的地方出现了警告,这才注意到,忘记加<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>加了之后立马就显示正常了。..._java-web能拿到数据库内的数据但是不能显示在前端

推荐文章

热门文章

相关标签