实施Collatz猜想的C ++程序
在本教程中,我们将讨论实现Collatz猜想的程序。
为此,我们将得到一个数字n,我们必须找出是否可以使用两个操作将其转换为1-
如果n为偶数,则n转换为n/2。
如果n为奇数,则将n转换为3*n+1。
示例
#include<bits/stdc++.h>
using namespace std;
//检查n是否达到1-
bool check1(int n, unordered_set<int> &s){
if (n == 1)
return true;
if (s.find(n) != s.end())
return false;
return (n % 2)? check1(3*n + 1, s) :
check1(n/2, s);
}
bool if_one(int n){
unordered_set<int> s;
return check1(n, s);
}
int main(){
int n = 234;
if_one(n) ? cout << "Yes" : cout <<"No";
return 0;
}输出结果
Yes
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短