博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于快乐数的算法
阅读量:6380 次
发布时间:2019-06-23

本文共 690 字,大约阅读时间需要 2 分钟。

本人在面试某国企的过程中被要求用手机编写快乐数算法,由于当时嫌弃麻烦所以就没写。后来在家呆着无聊想起来就写了个例子。

快乐数的概念:在给定的进位制下,该数字所有数位(digits)的平方和,得到的新数再次求所有数位的平方和,如此重复进行,最终结果必为1。

例子:2 8 → 2²+8²=68 → 6²+8²=100 → 1²+0²+0²=1

以下是代码:

private				bool IsHappyNum(int num, List
lastNum)

{

if (lastNum == null) { lastNum = new List
(); }

bool mark = true;

double sum = 0;

do

{

sum += Math.Pow(num % 10, 2);

if (num / 10 == 0)

{

mark = false;

}

num = num / 10;

} while (mark);

if				(lastNum.Contains(Convert.ToInt32(sum))) { return				false; }

lastNum.Add(Convert.ToInt32(sum));

if (sum != 1) { return IsHappyNum(Convert.ToInt32(sum), lastNum); } else { return					true; }

}

  

转载于:https://www.cnblogs.com/Schme/p/9332855.html

你可能感兴趣的文章
MySQL数据库以及表的管理
查看>>
局域网内一台电脑的ip地址自己会变,怎样让它不变
查看>>
Access restriction: The type 'BASE64Decoder' is not API
查看>>
DELLR720 独立显卡DVI转VGA问题
查看>>
C# 委托和事件
查看>>
基于ZooKeeper的分布式Session实现
查看>>
mui + vue 模板
查看>>
044——VUE中组件之使用内容分发slot构建bootstrap面板panel
查看>>
Aptana在Eclipse的安装
查看>>
解决telnet无法连接 Connection refused
查看>>
Spring boot(4)-应用打包部署
查看>>
SUSE glibc升级为2.18过程记录
查看>>
Go实战--golang中使用JWT(JSON Web Token)
查看>>
Node.js 回调函数
查看>>
Maven库下载很慢解决办法,利用中央仓库
查看>>
前端安全配置之Content-Security-Policy(csp)
查看>>
Dockder的CS模式:
查看>>
【资料分享】500篇干货解读人工智能新时代
查看>>
Ajax同步与异步优缺点与使用
查看>>
我迟到了
查看>>