Collatz conjecture 的题解
记住只在没有思路时使用题解,不要从它复制粘贴代码。请尊重题目和题解的作者。
在解题之前提交题解的代码会导致封禁。
在解题之前提交题解的代码会导致封禁。
作者:
概述
本题要求给定整数 ,输出一个位数不超过
的整数
,使得 Collatz 序列的前
项均不为
。核心解法是直接输出
,因为
在 Collatz 函数下恒为
,永远不会变成
。
分析
核心观察
是偶数,根据函数定义有
。因此从
开始的序列为
,恒为
,不可能出现
。
思路
题目只要求输出一个满足条件的整数 ,并限制其位数不超过
。取
时,序列的每一项都是
,对于任意
均满足“每个数都不是
”。同时
的位数为
,满足不超过
位的要求。因此无需考虑
的具体大小,直接输出
即可。
具体示例
当 时,输出
,序列第一项为
,不是
。当
时,输出
,序列前
项仍然全是
,均不是
。
算法步骤
- 读取
k。 - 输出
。
复杂度分析
- 时间:
- 空间:
实现注意事项
是偶数,满足
,序列恒为
。
- 输出整数
的位数为
,满足位数不超过
的限制。
- 不需要对
k进行任何计算或判断。 - 注意输出的是整数
,而不是
或其他正整数。
源代码
#include <iostream>
using namespace std;
int main() {
long long k;
cin >> k;
cout << 0 << endl;
return 0;
}
k = int(input())
print(0)
评论