2021-10-24:快乐数。编写一个算法来判断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。如果 n 是快乐数就返回 true ;不是,则返回 false 。力扣202。

福大大 答案2021-10-24:

方法1:自然智慧。用集合。
方法2:最终会遇到1或者4。1是快乐数,4不是快乐数。

代码用golang编写。代码如下:

package main

import "fmt"

func main() {
n := 5
if true {
ret := isHappy1(n)
fmt.Println(ret)
}
if true {
ret := isHappy2(n)
fmt.Println(ret)
}
}
func isHappy1(n int) bool {
set := make(map[int]struct{})
for n != 1 {
sum := 0
for n != 0 {
r := n % 10
sum += r * r
n /= 10
}
n = sum
if _, ok := set[n]; ok {
break
}
set[n] = struct{}{}
}
return n == 1
} 实验代码
//public static TreeSet<Integer> sum(int n) {
//TreeSet<Integer> set = new TreeSet<>();
//while (!set.contains(n)) {
//set.add(n);
//int sum = 0;
//while (n != 0) {
//sum += (n % 10) * (n % 10);
//n /= 10;
//}
//n = sum;
//}
//return set;
//} func isHappy2(n int) bool {
for n != 1 && n != 4 {
sum := 0
for n != 0 {
sum += (n % 10) * (n % 10)
n /= 10
}
n = sum
}
return n == 1
}

执行结果如下:


左神java代码

2021-10-24:快乐数。编写一个算法来判断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是的更多相关文章

  1. 日常Java 2021/10/24

    Java ArrrayList ArrayList类是一个可以动态修改的数组,没有固定大小的限制,可以在任何时候添加或者删除元素 ArrayList类在java.util包中使用之前需要引用 E:泛型 ...

  2. 「1.0」一个人开发一个App,小程序从0到1,起航了

    古有,秦.齐.楚.赵.魏.韩.燕七国争雄:今有,微信.QQ.百度.支付宝.钉钉.头条.抖音七台争霸.古有,白起.李牧.王翦.孙膑.庞涓.赵奢.廉颇驰骋疆场:今有程序员1,程序员2,程序员3…编写代码. ...

  3. 「2.0」一个人开发一个App,小程序从0到1,文件剖析

    不知你是不是见到“文件剖析”这4个大字,才点进来看一看的?如果真是的话,那我可以坦诚.真心.负责任地告诉你:你上当了,你上了贼船啦,如果你现在想跳的话,还来得及,反正茫茫大海中,鲨鱼正缺搞程序的人.说 ...

  4. 「4.0」一个人开发一个App,小程序从0到1,布局

    一提到布局这个词,我总是索索发抖,不是因为天冷,而是因为布局的目标实在太宏大.古代想雄霸天下的王,就喜欢布局这个,布局那个,结果硬生生把自己的国家给布局没了.至于是哪个君王,我倒可以非常认真,非常坦诚 ...

  5. 【SpringCloud技术专题】「原生态Fegin」打开Fegin之RPC技术的开端,你会使用原生态的Fegin吗?(上)

    前提介绍 Feign是SpringCloud中服务消费端的调用框架,通常与ribbon,hystrix等组合使用. 由于遗留原因,某些项目中,整个系统并不是SpringCloud项目,甚至不是Spri ...

  6. Diary / Solution Set -「WC 2022」线上冬眠做噩梦

      大概只有比较有意思又不过分超出能力范围的题叭.   可是兔子的"能力范围" \(=\varnothing\) qwq. 「CF 1267G」Game Relics   任意一个 ...

  7. 编写一个算法,将非负的十进制整数转换为其他进制的数输出,10及其以上的数字从‘A’开始的字母表示

    编写一个算法,将非负的十进制整数转换为其他进制的数输出,10及其以上的数字从‘A’开始的字母表示. 要求: 1) 采用顺序栈实现算法: 2)从键盘输入一个十进制的数,输出相应的八进制数和十六进制数. ...

  8. Ping pong(树状数组求序列中比某个位置上的数小的数字个数)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2492 Ping pong Time Limit: 2000/1000 MS (Java/Others) ...

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

    1):一个整数称为是:[幸运数],如果这个整数的各位数字的平方和为1或者反复计算各位数字的平方和为1 例如 19 是个幸运数 coding:java程序实现 import org.junit.Test ...

  10. JUint4的下载、配置及对一个算法编写单元测试用例(测试多组数据每组多个参数)

    一.JUnit4 jar包下载 链接:https://pan.baidu.com/s/1AdeVGGikcY5dfL151ZnWHA 提取码:h1am 下载完成后,解压一下即可. 二.导入JUnit4 ...

随机推荐

  1. windos 环境下载安装seata

    参考: https://blog.csdn.net/lianghecai52171314/article/details/127330916

  2. 钉钉获取第三方token时提示签名时间戳参数超时的处理方法

    今天在更新平台功能时,碰到一个问题,从钉钉跳转到平台,始终不能成功.查看日志发现,出现了 签名时间戳参数超时 的错误. 想着没有动过相对应的代码,应该不是代码的问题. 查询官方文档,没有给出明确的答复 ...

  3. Kakao Brain 的开源 ViT、ALIGN 和 COYO 文字-图片数据集

    最近 Kakao Brain 在 Hugging Face 发布了一个全新的开源图像文本数据集 COYO,包含 7 亿对图像和文本,并训练了两个新的视觉语言模型 ViT 和 ALIGN ViT 和 A ...

  4. 存算分离实践:JuiceFS 在中国电信日均 PB 级数据场景的应用

    01- 大数据运营的挑战 & 升级思考 大数据运营面临的挑战 中国电信大数据集群每日数据量庞大,单个业务单日量级可达到 PB 级别,且存在大量过期数据(冷数据).冗余数据,存储压力大:每个省公 ...

  5. Freemon停止提供免费域名注册了

    前言 freemon是一家国外的域名注册商,提供很多顶级的域名注册,最棒的是它还提供了五个免费的顶级一级域名注册分别有:tk.cf.ml.ga.gq,而且据我所知是不限量注册,最高一年使用期,可以免费 ...

  6. .NET周报 【3月第3期 2023-03-19】

    国内文章 记一次 .NET某汽车零件采集系统 卡死分析 https://www.cnblogs.com/huangxincheng/p/17214154.html 前段时间有位朋友在微信上找到我,说他 ...

  7. eval有时候也可以用,而且有奇效

    eval,一个我曾经避之不及的函数,最近我对它产生了一点新的感触:eval有时候也可以用,有奇效. 一般在使用js进行开发时,是不建议使用eval这类函数的.在JavaScript中,eval可以计算 ...

  8. SQL里按照年月日分组统计

    Mysql中使用DATE_FORMAT函数实现是相对简单的. 根据format字符串格式化date值.下列修饰符可以被用在format字符串中: %M 月名字(January--December) % ...

  9. tkinter的标签和按钮以及输入和文本

    一.标签和文本 import tkinter as tk #1.定义tk的实例对象,也就是窗口对象 window = tk.TK() #2.设置窗口大小无法缩小和放大 window.resiable( ...

  10. Thread面试题

    面试题目录https://www.cnblogs.com/Kaelthas/p/15005844.html 1.一个Thread对象代表一个线程,同一个线程能否多次启动? 不能,在Thread类中变量 ...