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#。

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

最新文章

  1. iOS 最新版 CocoaPods 的安装流程
  2. 【noip暑假tarjan专题】
  3. Regional Changchun Online--Travel(最小生成树&amp;&amp; 并查集)
  4. Apache虚拟主机配置(多个域名访问多个目录)
  5. IOS-开发日志-UITextField属性
  6. 多线程(Thread),其实很简单!
  7. MojoliciousLite: 实时的web框架 概述
  8. 搭建网络yum源
  9. 解决css引用图片不显示问题:background-image: url(../image/document.png);
  10. Dubbo源码学习--服务发布(ProxyFactory、Invoker)
  11. hiboCoder 1041 国庆出游 dfs+思维
  12. 1.JAVA-Hello World
  13. ajaxToolkit 异步加载报 错误500的解决方法
  14. Linux 总线、设备、驱动模型 与 设备树
  15. PS扣签名
  16. hibernate框架学习之数据查询(QBC)helloworld
  17. 常用的web服务器软件整理
  18. C++学习的书籍
  19. 初始C#(二)
  20. Fire! 又是图 bfs

热门文章

  1. Jstorm执行task报错windows CONFIG SET protected-mode no
  2. 完整版EXCEL导出 (大框架SpringCloud 业务还是Springboot一套)
  3. Taro_Mall 是一款多端开源在线商城小程序.
  4. centos 7上openJdk 安装
  5. 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(6.1)- FlexSPI NOR连接方式大全(RT600)
  6. 安装skimage和cv2
  7. 迄今为止最硬核的「Java8时间系统」设计原理与使用方法
  8. HDFS 客户端读写操作详情
  9. Protocol buffers编写风格指南
  10. 使用.Net Core编写命令行工具(CLI)