问题 C: 完美的数
时间限制: 1 Sec 内存限制: 128 MB

[提交][状态][讨论版]
题目描述
一个数是否完美是这样定义的,如果这个数的素数因子只有2,3,5,7,那么这个数就是完美的.

显而易见前面几个完美的数为1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 24, 25, 27, …

你能告诉我第n个完美的数是多少嘛?

输入
多组测试数据.每组数据的第一行包含一个正整数n(1<= n<=5842).

输出
对于每组测试数据输出第n个完美的数

样例输入

1
11
5842

样例输出

1
12
2000000000

提示
/*
打表。
用优先队列。
首先1入队,
然后1出队,出队的同时记录结果,分别乘2,3,5,7,得到的结果入队列
然后再让队列中一个元素出队(最大的最小的都可以,我是让最小的出队),出队的同时记录结果,分别乘2,3,5,7,得到的<=2e9的结果入队列
直到队列为空。
*/
ac_code:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const LL maxn = 6000;
const LL up = 2e9;
LL mp[maxn];
LL step[]= {2,3,5,7};
priority_queue<LL>q;
map<LL,bool>vis;
int main()
{int cnt = 0;vis[1] = true;q.push(-1);while(!q.empty()){LL k = -q.top();mp[++cnt] = k;q.pop();for(int i = 0; i < 4; i++){LL temp = k*step[i];if(temp <= up && !vis[temp]){vis[temp] = true;q.push(-temp);}}}LL n;while(~scanf("%lld",&n)){printf("%lld\n",mp[n]);}return 0;
}

一个学长的巧妙的解法:

#include <bits/stdc++.h>
using namespace std;
const int maxn = 6e3;
int mp[maxn];
int main()
{int i = 0;int x,y,l,r;mp[++i] = 1;x = y = l = r = 1;while(i <= 5842){int t = min(mp[x]*2,min(mp[y]*3,min(mp[l]*5,mp[r]*7)));if(t == mp[x]*2) x++;if(t == mp[y]*3) y++;if(t == mp[l]*5) l++;if(t == mp[r]*7) r++;mp[++i] = t;}int n;while(~scanf("%d",&n)){printf("%d\n",mp[n]);}return 0;
}

问题 C: 完美的数(思维)相关推荐

  1. Leetcode 279 完美平方数

    Type: Medium, BFS 完美平方数 题目描述: Given a positive integer n, find the least number of perfect square nu ...

  2. 高数————思维导图(上岸必备)(积分部分)

    高数----思维导图(上岸必备)(极限与连续). 高数----思维导图(上岸必备)(微分部分). 高数----思维导图(上岸必备)(积分部分). 高数----思维导图(上岸必备)(级数部分). 高数- ...

  3. 小学奥数思维训练题(五)

    请点击此处输入图片描述 四个不同的自然数,有一个是 1,任意两个的和是 2 的倍数,任意三个的和是 3 的倍数,这四个数的和又恰好是 4 的倍数.这四个数的和最小等于 ______ .(题目来源:第1 ...

  4. 高数————思维导图(上岸必备)(微分方程部分)

    高数----思维导图(上岸必备)(极限与连续). 高数----思维导图(上岸必备)(微分部分). 高数----思维导图(上岸必备)(积分部分). 高数----思维导图(上岸必备)(级数部分). 高数- ...

  5. [01背包] 背包问题求具体方案(01背包+求方案数+思维)

    文章目录 0. 前言 1. 01背包+求方案数+思维 0. 前言 相关: [背包] 背包问题算法模板(模板) 1. 01背包+求方案数+思维 12. 背包问题求具体方案 求方案数也是背包问题.dp 的 ...

  6. 1082 与7无关的数(思维题,巨坑)

    1082 与7无关的数 题目来源:                 有道难题                     基准时间限制:1 秒 空间限制:131072 KB 分值: 5         难 ...

  7. 279 Perfect Squares 完美平方数

    给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...) 使得他们的和等于 n.你需要让平方数的个数最少. 比如 n = 12,返回 3 ,因为 12 = 4 + 4 + 4 : ...

  8. 小学奥数思维训练题(十二)

    上数学课时,老师说:"我这里有三张卡片,上面写有不同的整数,第一张卡片上的数字是某种商品的单价,是一个两位数,单位是元:第二张卡片上的数字是购买这种商品的数量:第三张卡片上的数字是购买这种商 ...

  9. 小学奥数思维训练题(九)

    小聪现有存款 165 元,计划今后每月再存 100 元:小明现有存款 283 元,计划今后每月再存 80 元:小军现有存款 479 元,计划今后每月再存 52 元.当其中两人的存款相同时,至少再过几个 ...

最新文章

  1. ebnf描述c语言语句结构,EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则...
  2. [转载]ASP.NET MVC:通过 FileResult 向 浏览器 发送文件
  3. typedef 多文件引用
  4. 【Matlab】编译器和工作区等窗口怎么调整位置?
  5. Mysql 5.8 参数调优
  6. 二叉树的遍历实现-1(三级)
  7. Black Hat 2017黑帽大会:8款值得一看的黑客工具
  8. 如何正确处理 .NET 文件的 `File in use by another process` 异常 ?
  9. 【C】printf按8进制、10进制、16进制输出以及高位补0
  10. truncate、rename函数的使用
  11. (数据库系统概论|王珊)第十章数据库恢复技术:习题
  12. php整合proxool,java discuz的开发笔记-模板代码转换
  13. (二)ubuntu使用launchpad.net线上编译
  14. VC中char,TCHAR,WCHAR总结
  15. turtle库的学习
  16. 【渝粤教育】国家开放大学2018年春季 0688-22T老年精神障碍护理 参考试题
  17. swift 笔记 (二十一) —— 高级运算符
  18. 码出高效,码出质量:阿里Java开发手册正式发布!
  19. 一款相当好用的排版软件
  20. 发货100全功能网站系统源码

热门文章

  1. centos 程序 mysql数据库文件位置,CentOS 更改MySQL数据库目录位置
  2. 苹果6s怎么连不上服务器未响应,iphone6s无法连接app store 苹果6s连不上app store解决方法...
  3. 毕业三年,快手总包 90W 值得去吗?
  4. 2020最值得学习的12款python-web开发框架大盘点
  5. gogs创建项目_容器云平台No.10~通过gogs+drone+kubernetes实现CI/CD
  6. 多核cpu应用场景_操作系统基础11-关于多核编程
  7. OpenCV-信用卡数字识别-03
  8. java并发编程之美-阅读记录3
  9. go chan 缓存与阻塞
  10. 面试系列12 redis和memcached有什么区别