枚举法入门

算法简介

这是一种入门级的算法,它是利用计算机运算速度快、精确度高的特点,对要解决问题的所有可能情况,一个不漏地进行检验,从中找出符合要求的答案,因此枚举法是通过牺牲时间来换取答案的全面性。

题目链接

ZOJ-1078 Palindrom Numbers

题意

给出一个(0, 50000)内的整数,求该数在[2,16]进制下分别是否为回文数

解法

枚举[2,16]进制,每次都把数字转化成该进制下的字符串,然后判断是否为回文数,最后按格式输出结果

核心代码

int n = in.nextInt();
List<Integer> fixedBaseList = new ArrayList<>();
for (int radix = 2; radix <= 16; ++radix) {
    String str = Integer.toString(n, radix);
    String revStr = new StringBuilder(str).reverse().toString();
    if (str.equals(revStr)) {
        fixedBaseList.add(radix);
    }
}

完整代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,941评论 25 709
  • 感恩生命本身的恩赐*感恩又安然的渡过一天*感恩今天的一切助缘让我成长得更美好*
    晴晴zhang阅读 1,053评论 0 0
  • 今天是夏令营开始的第一天,我们全部6点多起床,吃完早餐后,我们进行了水上拓展和逃生墙的项目。在这次夏令营活动中,除...
    育心茵可妈阅读 2,444评论 0 1
  • 我是一名商人,任何事物都可以成为我的商品,包括情感。我忘了自己什么时候丢弃了良心,也不知道在哪个路口被哪条狗拾起,...
    雨山上的梵星阅读 3,081评论 0 1
  • 查了线代成绩,感觉大家都差不多,没上过几节课的同学都及格了,拉不开绩点,然而我的工力是低分飘过,明年的奖学金好悬…...
    菠萝菠萝蜜u阅读 1,176评论 0 0