博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1005 继续(3n+1)猜想 (25 分)
阅读量:6832 次
发布时间:2019-06-26

本文共 1554 字,大约阅读时间需要 5 分钟。

  1. 题意很好理解,在给定的这一系列数字进行卡拉兹猜想的过程中会产生一些数字已经验证过了的情况。
  2. 我们的目标就是找出最少需要验证的数字。
  3. 先创建一个字典key值就是给定的一系列数,value初始全都为0,表示都需要进行验证。
  4. 从给定第一个数开始验证,产生的中间数据如果在字典中,将对应的value置1,说明这个数不用再验证了。
  5. 最后将字典在遍历一次等于0的就是我们需要的结果,对其进行从大到小的排序。

C++ 代码

#include 
#include
#include
#include
#include
using namespace std;int main() { map
m; vector
res; int n; int temp; cin >> n; while (n--) { cin >> temp; m[temp] = 0; } for (auto it = m.begin(); it != m.end(); it++) { temp = it->first; while (temp != 1) { if (temp % 2 == 0) temp = temp / 2; else temp = (3 * temp + 1) / 2; if (m.count(temp) == 1) m[temp] = 1; } } for (auto it = m.begin(); it != m.end(); it++) { if (it->second == 0) res.push_back(it->first); } reverse(res.begin(), res.end()); cout << res[0]; for (int i = 1; i < res.size(); i++) { cout << " " << res[i]; } cout << endl; return 0;}复制代码

python3代码

def main():    n = input()    num_str = input().split(' ')    res={}    result =[]    for i in num_str:        if(int(i) not in res.keys()):            res[int(i)] = 0    for i in num_str:        i = int(i)        while i !=1:            if(i%2==0):                i = i/2            else:                i = (3*i+1)/2            if(i in res.keys()):                res[i] = 1    for i in res:        if(res[i] == 0):            result.append(i)    result.sort(reverse=True)    for  i ,value in enumerate(result):        if(i!=0):            print(" ",end='')        print(value,end='')main()复制代码

转载于:https://juejin.im/post/5ce391b4f265da1bab298294

你可能感兴趣的文章
快速搭建 Discuz 论坛
查看>>
pip升级常见故障解决心得
查看>>
C语言:指针的运用
查看>>
TortoiseSVN 源码相关网址
查看>>
C语言贪吃蛇代码
查看>>
共享打印机:已达到计算机的连接数最大值,无法再同此远程计算机连接
查看>>
dos2unix 和 unix2dos
查看>>
iOS-应用程序沙盒机制(SandBox)
查看>>
JAVA多线程(十)模式-Work Thread和阶段总结
查看>>
linux中时间设置date、hwclock、clock
查看>>
Linux 软件包管理之RPM
查看>>
Linux bash入门
查看>>
网络协议
查看>>
SecureCRT右键粘贴的设置
查看>>
TurboMail邮件系统定制同步某地产集团微软活动目录服务(AD)用户数据
查看>>
华章9-10月份新书简介(2016年)
查看>>
【Tomcat】面向初级 Web 开发人员的 Tomcat
查看>>
浏览器屏幕宽度相关值得获取
查看>>
vue.js模拟后端请求
查看>>
我的友情链接
查看>>