今天在importNew上看到一篇总结面试问题的文中,里面说到一个开心数算法,比较好奇就看了下。
长时间没有写代码,对于一些基本的东西都不熟悉,为了能把多位数字拆成单位数字,想了很久,到最后都没想到除法(/)和 取余数(%),最后想的方法还绕了很大一圈,下面是源码:(本来还想用递归,但是没能成功)
package com.test;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
public class BaseTest {
public static void main(String[] args) {
BaseTest bt = new BaseTest();
System.out.println(bt.isHappy(19));
System.out.println(bt.isHappy(20));
System.out.println(bt.isHappy(69));
System.out.println(bt.isHappy(5786));
System.out.println("-----------others-----------");
System.out.println(bt.isHappy1(19));
System.out.println(bt.isHappy1(20));
System.out.println(bt.isHappy1(69));
System.out.println(bt.isHappy1(5786));
}
//自己写的开心数算法
private boolean isHappy(int in){
boolean flag = false;
int sum