- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试解决一个问题。给定一个整数范围,用户必须找出给定范围内不开心的人数。
Unhappy number - 一个数字 n,使得从 n 开始迭代这个数字平方和映射永远不会达到数字 1。
我尝试使用蛮力方法计算数字的平方和,如果在任何时刻它等于其中任何一个 (4, 16, 37, 58, 89, 145, 42, 20)那么这是一个不快乐的数字。
这种方法就是给TLE有没有更好的方法??
范围在 1 到 10^18 之间。
最佳答案
您的范围在 1 到 1018 之间。这意味着您的号码最多包含 18 位数字。
考虑一个数字的最大平方是 92 = 81,在进行平方数字和一次最大数字是 18 * 81 = 1458 之后。
所以一个平方数字和加上一个约 1500 个元素的查找表就足够了。
或者两个平方数字和加上一个约 330 个元素的查找表:
static const bool unhappy[330] {
1,0,1,1,1,1,1,0,1,1,0,1,1,0,1,1,1,1,1,0,1,1,1,0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,
1,1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,
1,1,1,0,1,1,0,1,1,1,0,1,1,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,1,1,1,0,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,
0,1,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,
1,1,0,1,1,1,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,1,0,0,1,
1,1,1,1,1,1,0,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,0,1,1,0
}
inline bool is_unhappy(uint64_t n) {
while (n >= 330) {
int r = 0;
while (n > 0) {
int d = n % 10;
r += d*d;
n /= 10;
}
n = r;
}
return unhappy[n];
}
关于c++ - 快速找到不开心号码的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33324209/
我在尝试理解 Python 3 导入时遇到了很大的麻烦(我使用的是 Python 3.5)。这似乎是一个值(value)百万美元的问题,而且我知道它已在各处得到解答。但是,我并没有真正理解应该如何完成
这个问题在这里已经有了答案: What is the conversion specifier for printf that formats a long? (7 个答案) warning: fo
我是 C 的新手,正在尝试学习 char 数组的动态内存分配,但不确定为什么我不能让 valgrind 对 0 错误感到满意,同时避免段错误。我的例子是基于这个例子: How to dynamical
我写了驼峰字符串的函数(要求是把单词开头和每个连字符后面的字符踢起来,这是针对人名)。 function sadCamelize(input) { return input.toLowerCase
我在 linux 内核 (arch/x86/boot/pmjump.S) 中找到了这段代码 # Set up TR to make Intel VT happy ltr %di
我正在尝试输入 __new__ Python 中元类中的方法,以便它取悦 mypy。代码将是这样的(取自 pep-3115 - “Python 3000 中的元类”并精简了一点): from __fu
我一直在摆弄 mod_rewrite 有一段时间了,但它已经得到了我最好的。希望这里的任何人都能阐明我的问题。 我正在尝试自行托管 wordpress,当我在网站的 .htaccess 文件中将 mo
我在国外图书馆有一本A类。 class A: def __init__(self, a: int): self.a = a 我想用 A 扩展一个 class B,比如: imp
我是一名优秀的程序员,十分优秀!