L2-029 特立独行的幸福 (25 分) 对一个十进制数的各位数字做一次平方和,称作一次迭代。如果一个十进制数能通过若干次迭代得到 1,就称该数为幸福数。1 是一个幸福数。此外,例如 19 经过 1 次迭代得到 82,2 次迭代后得到 68,3 次迭代后得到 100,最后得到 1。则 19 就是幸福数。显然,在一个幸福数迭...
1 是一个幸福数。此外,例如 19 经过 1 次迭代得到 82,2 次迭代后得到 68,3 次迭代后得到 100,最后得到 1。则 19 就是幸福数。显然,在一个幸福数迭代到 1 的过程中经过的数字都是幸福数,它们的幸福是依附于初始数字的。例如 82、68、100 的幸福是依附于 19 的。而一个特立独行的幸福数,是在一个有...
天梯赛 L2-029 特立独行的幸福 (25 分) 根据某大佬的做法写的,记录一下自己的学习过程 #include<iostream>usingnamespacestd;constintN =1e4+10;inta,b;intp[N];intres[N];boolisPrime(intx){if(x <2)returnfalse;for(inti =2; i < x / i; i++)if(x % i ==0)returnfalse;returntrue; }i...
则 \(19\) 就是幸福数。显然,在一个幸福数迭代到 \(1\) 的过程中经过的数字都是幸福数,它们的幸福是依附于初始数字的。例如 \(82\)、\(68\)、\(100\) 的幸福是依附于 \(19\) 的。而一个特立独行的幸福数,是在一个有限的区间内不依附于任何其它数字的;其独立性就是依附于它的的幸福数的个数。
可以用个flag作为区间内有独立幸福数的标志,没有则需要输出SAD(一分的测试点😟)。 C++ 代码 #include<bits/stdc++.h> using namespace std; const int N = 1e4+10; map<int,int> cnt; bool isPrime(int x) { if(x < 2) return false; for(int i = 2; i <= sqrt(x); i++) { if(x...
L2-029 特立独行的幸福 (25分) 今天除夕夜,Yuhan在这里给大家拜个(早)年~ 祝大家新年快乐,在新的一年里有[特立独行的幸福]~ (^ω^) 思路: 我们可以在O(n)O(n)的时间内判断一个数是否为素数; 其次迭代计算下一个平方和时需要计算这个数之前是否出现过,以保证不会进入死循环,同时也判断该数是不是...
L2-029 特立独行的幸福 (25 分) 按题意模拟就好了...咳咳。 visvis数组判断每轮迭代至数字11的过程中是否出现过重复数字。 哈希表SS存储迭代过程中产生的中间数字,以便最后输出答案时过滤掉依附于其他数字的幸福数。 constintN=1e4+10; boolvis[N];...
1 是一个幸福数。此外,例如 19 经过 1 次迭代得到 82,2 次迭代后得到 68,3 次迭代后得到 100,最后得到 1。则 19 就是幸福数。显然,在一个幸福数迭代到 1 的过程中经过的数字都是幸福数,它们的幸福是依附于初始数字的。例如 82、68、100 的幸福是依附于 19 的。而一个特立独行的幸福数,是在一个...
L2-029 特立独行的幸福 (25 分) 对一个十进制数的各位数字做一次平方和,称作一次迭代。如果一个十进制数能通过若干次迭代得到11,就称该数为幸福数。11是一个幸福数。此外,例如1919经过 1 次迭代得到8282,22次迭代后得到6868,33次迭代后得到100100,最后得到11。则1919就是幸福数。显然,在一个幸福数迭代到11...
输入在第一行给出闭区间的两个端点:1。 输出格式: 按递增顺序列出给定闭区间[ 内的所有特立独行的幸福数和它的独立性。每对数字占一行,数字间以 1 个空格分隔。 如果区间内没有幸福数,则在一行中输出SAD。 输入样例 1: 10 40 输出样例 1: 19 8 ...