• algorithm++:一个整数称为是:【幸运数】,如果这个整数的各位数字的平方和为1或者反复计算各位数字的平方和为1 例如 19 是个幸运数


    1):一个整数称为是:【幸运数】,如果这个整数的各位数字的平方和为1或者反复计算各位数字的平方和为1 例如 19 是个幸运数

     

    coding:java程序实现

    import org.junit.Test;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class XingYunShu {
    
        List<Integer> list = new ArrayList<>();
    
        @Test
        public void demo() {
            long startTime = System.currentTimeMillis();
            // 100 以内的幸运数
            for (int i = 0; i < 100; i++) {
                boolean flag = isLuckyNumber(i);
                System.out.println("是否为幸运数:{" + i + "}=" + flag);
            }
            long endTime = System.currentTimeMillis();
            System.out.println("程序运行时间:" + (endTime - startTime) + "ms");
        }
    
        // 判断是否为幸运数
        public boolean isLuckyNumber(Integer num) {
            List<Integer> integerList = splitNum(num);
            Integer count = 0;
            for (Integer l : integerList) {
                count += l * l;
            }
            if (count == 1) {
                return true;
            }
            if (list.contains(count)) {
                return false;
            }
            list.add(count);
            return isLuckyNumber(count);
        }
        // 把一个整数拆分为单个数值
        public List<Integer> splitNum(Integer num) {
            List<Integer> list = new ArrayList<Integer>();
            int length = (num + "").length();
            for (int i = length - 1; i >= 0; i--) {
                list.add(num % 10);
                num /= 10;
            }
            return list;
        }
    
    }

    将一个整数方式拆分的方式还有很多种,比如 number.toCharArray();  这里避免了类型之间的转换。

    有人会问道 类型之间的转换很消耗资源吗?

    java设计模式 的核心就是多态,各种流行的框架都有大量类型转换的操作。

    再烂的编程语言也不在乎这点资源,更何况java和c#。

    稍微复杂点的算法,几层循环一嵌套就顶你这来回转换几万次,计算机没那么水,怎么说也是高科技是不。

  • 相关阅读:
    Ubuntu下的Apache、Mysql、PHP环境搭建
    JS代码引用位置问题-转
    mysql设置定时任务
    js setTimeout函数
    JavaScript向window onload添加加载函数
    写在开博之时
    WPF笔记(一)之初识XMAL
    创建理想的数据库索引
    常见负载均衡算法
    Java设计模式之外观模式
  • 原文地址:https://www.cnblogs.com/codingmode/p/12626416.html
Copyright © 2020-2023  润新知