【PAT】B1005 继续(3n+1)猜想
没有婼姐写得好
将所有的输入放入mp,mp2
覆盖的数存入mp
一开始认为mp中只出现一次的元素就是,忘了可能只被覆盖一次的情况
所以添加了mp2保存输入
#include <iostream>
#include<algorithm>
#include<map>
#include<vector>
using namespace std;
int main() {
int N; scanf("%d", &N);
map<int,int> mp,mp2;
for (int i = 0; i<N; i++) {
int temp; scanf("%d", &temp);
mp[temp]++; mp2[temp] = 1;
while (temp != 1) {
if (temp % 2 == 0) {
temp /= 2; mp[temp]++;
}
else {
temp = (temp * 3 + 1) / 2; mp[temp]++;
}
}
}
vector<int> ve;
for (map<int, int>::iterator it = mp.begin(); it != mp.end(); it++) {
if (it->second == 1&&mp2[it->first]==1) ve.push_back(it->first);
}
sort(ve.begin(), ve.end());
for (int i = ve.size()-1; i>=0; i--) {
printf("%d", ve[i]);
if (i != 0) printf(" ");
}
return 0;
}
【PAT】B1005 继续(3n+1)猜想的更多相关文章
- PAT B1005 继续(3n+1)猜想 (25 分)
卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对 n=3 进行验证的时 ...
- B1005 继续(3n+1)猜想 (25分)
B1005 继续(3n+1)猜想 (25分) 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程 ...
- PAT 1005 继续(3n+1)猜想 (25)(代码)
1005 继续(3n+1)猜想 (25)(25 分) 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下 ...
- 【算法笔记】B1005 继续(3n+1)猜想+sort()用法
1005 继续(3n+1)猜想 (25 分) 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程 ...
- PAT——1005. 继续(3n+1)猜想
pat原题目:https://www.patest.cn/contests/pat-b-practise/1005 原题目: 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况 ...
- PAT 1005. 继续(3n+1)猜想 (25) JAVA
当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对n=3进行验证的时候,我们需要计算3.5.8.4.2.1,则当我们对n=5.8.4.2进行验证的时候,就可以直接 ...
- PAT 1005. 继续(3n+1)猜想 (25)
卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对n=3进行验证的时候, ...
- PAT——1005. 继续(3n+1)猜想 (25)
卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对n=3进行验证的时候, ...
- PAT 1005 继续(3n+1)猜想
https://pintia.cn/problem-sets/994805260223102976/problems/994805320306507776 卡拉兹(Callatz)猜想已经在1001中 ...
随机推荐
- Http协议中get和post的区别
get(默认值)是通过URL传递表单值,数据追加在action属性后面. post传递的表单值是隐藏到http报文体中,url中看不到. get是通过url传递表单值,post通过url看不到表单域的 ...
- 使用 Cglib 实现多重代理
前言 由于 Cglib 本身的设计,无法实现在 Proxy 外面再包装一层 Proxy(JDK Proxy 可以),通常会报如下错误: Caused by: java.lang.ClassFormat ...
- 【转载】PhpStudy修改Apache的端口号
phpStudy是一个PHP调试环境的程序集成包.该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便.好用的 ...
- Html5游戏开发-图形与动画(一)
最近研究了一下出来了很久的HTML5,总结了一下,准备来个系列,文中也许有很多问题,欢迎大家指正. Canvas介绍 canvas用于在网页中绘制图形的一个元素,具体内容请查看 -> HTML5 ...
- C#调用存储过程执行缓慢,但在数据库中执行却很快的问题
参考: http://www.debugease.com/mssqlbasic/976568.html https://www.cnblogs.com/Irving/p/3951220.html ht ...
- python之isinstance内建函数
语句: isinstance(object,type) 作用: 来判断一个对象是否是一个已知的类型. 解释: 其第一个参数(object)为对象,第二个参数(type)为类型名(int...)或类型名 ...
- for循环与forEach性能思考
今日看到一句话: 基于循环的迭代比基于函数的迭代法快8倍,因此有了该篇验证博客. 验证代码如图: 验证结果:在数量比较少的时候,无明显差别,当数量级达到10的4次方时候,for循环的效率优势明显:如图 ...
- bootstrap源码之滚动监听组件scrollspy.js详解
其实滚动监听使用的情况还是很多的,比如导航居于右侧,当主题内容滚动某一块的时候,右侧导航对应的要高亮. 实现功能 1.当滚动区域内设置的hashkey距离顶点到有效位置时,就关联设置其导航上的指定项 ...
- django模型基础(三)
本文转载自https://blog.csdn.net/xiaogeldx/article/details/88084034 表关系 一对一(OneToOne) 通过本表的主键外键关联另一张表的主键 创 ...
- ambari 卸载脚本
#!/bin/bash # Program: # uninstall ambari automatic PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bi ...