博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA136 Ugly Numbers
阅读量:7083 次
发布时间:2019-06-28

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

问题链接:。基础级练习题,用C++语言编写程序。

题意简述:不能被2、3和5以外的素数整除的数称为丑数,找出第1500个丑数。

问题分析:换句话说,丑数的因子只能是2、3和5。1是丑数,对于x,若x是丑数则2x、3x和5x是丑数。利用已知的丑数,从小到不断生成丑数就可以了。

程序说明:使用一个STL的容器set来存放丑数。集合具有去重复,自动排序的功能,十分方便。

AC的C++语言程序如下:

/* UVA136 Ugly Numbers */#include 
#include
#include
using namespace std;#define MAXN 1500typedef unsigned long long ULL;set
ugly;int main(void){ int count; ugly.insert(1); count = 0; set
::iterator iter = ugly.begin(); while(++count < MAXN) { ULL t = *iter; ugly.insert(t * 2); ugly.insert(t * 3); ugly.insert(t * 5); iter++; } printf("The 1500'th ugly number is %llu.\n", *iter); return 0;}

转载于:https://www.cnblogs.com/tigerisland/p/7564464.html

你可能感兴趣的文章
问题-Delphi编译时提示缺少delphi自己的单元文件
查看>>
四个 服务器设计模型(42)
查看>>
libevent多线程使用事项
查看>>
linux jps 命令
查看>>
ThreadLocal是否会引发内存泄露的分析 good
查看>>
ios9新特性概述
查看>>
Android的BUG(一) - HTML 5 播放streaming video造成卡住的问题
查看>>
Vim文本编辑器 指令簿(二)
查看>>
linux命令后加一个 &
查看>>
支付标记化(Tokenization)技术
查看>>
centos7 安装kvm, 并创建虚拟机
查看>>
VC++实现在系统托盘来新消息闪烁,鼠标悬停显示窗口
查看>>
Kali命令集
查看>>
Leetcode: Battleships in a Board
查看>>
【死磕jeestie源码】类型后面三个点(String...)和数组(String[])的区别
查看>>
Eigen教程(10)
查看>>
ambari HDFS-HA 回滚
查看>>
Linux命令:用“dirs”、“pushd”、“popd”来操作目录栈
查看>>
HTTP basic 认证
查看>>
并非全部的程序猿都适合做技术管理
查看>>