POJ2247,hdu1058(Humble Numbers)
Write a program to find and print the nth element in this sequence
1
2
3
4
11
12
13
21
22
23
100
1000
5842
0
The 1st humble number is 1.
The 2nd humble number is 2.
The 3rd humble number is 3.
The 4th humble number is 4.
The 11th humble number is 12.
The 12th humble number is 14.
The 13th humble number is 15.
The 21st humble number is 28.
The 22nd humble number is 30.
The 23rd humble number is 32.
The 100th humble number is 450.
The 1000th humble number is 385875.
The 5842nd humble number is 2000000000.题意:寻找第n个humble number(百度翻译貌似是谦虚的数。。。什么破玩意儿?!!?!),humble number的定义为一个质因数为2或3或5或7的整数而且1也包括在内。当然比较坑的地方就是输出格式,关于输出st,nd,rd这几个单词的时候要注意,最后两位是十几的情况下只能用th,因为11是eleventh,12是twelvth,13是thirth(好吧,貌似写错别字了,估计四级又要不过)。思路:看我之前的ugly number的题解。。。
http://blog.csdn.net/ecjtuacm_yuewei/article/details/42365475(好吧,任性了),其实这两道题目很相似的。。。懂?!代码://hdu1058
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstdio>
#include<cmath>
#define maxn 6000
using namespace std;
__int64 biao[maxn]; inline __int64 min(__int64 x, __int64 y)
{
return x < y?x:y;
} int main()
{
int er = 1, san = 1, wu = 1, qi = 1;
biao[1] = 1;
for(int i = 2; i <= 5845; i ++)
{
biao[i] = min(min(biao[er] * 2, biao[san] * 3), min(biao[wu] * 5, biao[qi] * 7));
if(biao[i] == biao[er] * 2) er ++;
if(biao[i] == biao[san] * 3) san ++;
if(biao[i] == biao[wu] * 5) wu ++;
if(biao[i] == biao[qi] * 7) qi ++;
} // for(int i = 1; i <= 20; i ++)
// cout << biao[i] << ' '; int n;
while(cin >> n && n)
{
int k = n % 10;
int w = n / 10 % 10;
if(k == 1 && w != 1)
{
printf("The %dst humble number is %I64d.\n", n, biao[n]);
}
else if(k == 2 && w != 1)
{
printf("The %dnd humble number is %I64d.\n", n, biao[n]);
}
else if(k == 3 && w != 1)
{
printf("The %drd humble number is %I64d.\n", n, biao[n]);
}
else
{
printf("The %dth humble number is %I64d.\n", n, biao[n]);
}
}
return 0;
}
POJ2247,hdu1058(Humble Numbers)的更多相关文章
- php实现把数组排成最小的数(核心是排序)(看别人的代码其实也没那么难)(把php代码也看一下)(implode("",$numbers);)(usort)
php实现把数组排成最小的数(核心是排序)(看别人的代码其实也没那么难)(把php代码也看一下)(implode("",$numbers);)(usort) 一.总结 核心是排序 ...
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数006, image,影像处理(像素图)
<zw版·Halcon-delphi系列原创教程> Halcon分类函数006, image,影像处理(像素图) 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号“* ...
- RGB图像数据字符叠加,图像压缩(ijl库),YUV转RGB
jackyhwei 发布于 2010-01-01 12:02 点击:3218次 来自:CSDN.NET 一些非常有用的图像格式转换及使用的源代码,包括RGB图像数据字符叠加,图像压缩(ijl库),Y ...
- gcc “-I”(大写i),“-L”(大写l),“-l”(小写l)的区别
我们用gcc编译程序时,可能会用到“-I”(大写i),“-L”(大写l),“-l”(小写l)等参数,下面做个记录: 例: gcc -o hello hello.c -I /home/hello/inc ...
- [原创].NET 业务框架开发实战之十 第一阶段总结,深入浅出,水到渠成(后篇)
原文:[原创].NET 业务框架开发实战之十 第一阶段总结,深入浅出,水到渠成(后篇) .NET 业务框架开发实战之十 第一阶段总结,深入浅出,水到渠成(后篇) 前言:接着上篇来. 系列文章链接: [ ...
- Java四种排序:冒泡,选择,插入,二分(折半插入)
四种排序:冒泡,选择,插入,二分(折半插入) public class Test{ // public static void main(String[] args) { // Test t=new ...
- 程序员必知的8大排序(四)-------归并排序,基数排序(java实现)
程序员必知的8大排序(一)-------直接插入排序,希尔排序(java实现) 程序员必知的8大排序(二)-------简单选择排序,堆排序(java实现) 程序员必知的8大排序(三)-------冒 ...
- 程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)
程序员必知的8大排序(一)-------直接插入排序,希尔排序(java实现) 程序员必知的8大排序(二)-------简单选择排序,堆排序(java实现) 程序员必知的8大排序(三)-------冒 ...
- 程序员必知的8大排序(二)-------简单选择排序,堆排序(java实现)
程序员必知的8大排序(一)-------直接插入排序,希尔排序(java实现) 程序员必知的8大排序(二)-------简单选择排序,堆排序(java实现) 程序员必知的8大排序(三)-------冒 ...
- 学习 Linux,302(混合环境): Samba 角色
http://www.ibm.com/developerworks/cn/linux/l-lpic3-310-2/ 概述 在本文中,了解下列概念: Samba 安全模式 核心 Samba 守护程序的角 ...
随机推荐
- [ELK] Docker 运行 Elastic Stack 支持 TLS 的两种简单方式
第一种就是 按照官方文档进行配置,指定证书位置开启. Run the Elastic Stack in Docker with TLS enabled. 第二种就是 9200 端口只暴露给本机,127 ...
- Ubuntu环境下docker每次都需要sudo的问题
1.添加 docker 用户组 sudo groupadd docker 可以通过 cat /etc/group 指令查看存在的用户组 2.将当前用户添加到 docker 组中 sudo gpassw ...
- Google高精度的搜索技巧
利用"关键字",完全匹配搜索(双引号精准搜索). 利用"关键字:档案类型",搜寻特定档案类型. 例如:"简历:doc"."钢铁侠: ...
- 一个现代化轻量级的跨平台Redis桌面客户端
大家好,我是 Java陈序员. Redis 作为一款高性能的非关系型数据库,可是深受开发者的喜爱,无论是什么开发,都能看到 Redis 的身影. 今天,给大家介绍一款跨平台的 Redis 客户端连接工 ...
- pdo类
testmysql.php <?php require_once "./mypdo.php"; //do something... //查一行 $id = 3; //$sql ...
- Python——基本输入和输出
Python提供了基本的输入和输出功能,这些功能通常是通过内置的input()函数(用于输入)和print()函数(用于输出)来实现的.以下是这两个函数的详细描述和示例: 1. print() 函数( ...
- Linux环境下:程序的链接, 装载和库[动态链接]
静态链接库在程序编译阶段就完成了链接工作,完成链接后,依赖的库就都打入了可执行文件中,所以文件大小一般会比较大. 而动态库链接库是在程序运行时才被链接的,所以磁盘上只要保留一份副本,因此节约了磁盘空间 ...
- c 语言不输出空数据 (全面覆盖)
目录 去除空值的专栏 解决方案 一.通过数组的自身性质,让其值大于零 1. short 数组测试 2. int 数组测试 3. long 数组测试 4. float 数组测试 5. float 数组测 ...
- pageoffice6 实现提取数据区域为子文件(Word拆分)
在实际的开发过程中,有时会遇到希望提取Word文档中部分内容保存为子文件的需求,PageOffice支持提取Word文档数据区域中的内容为一个Word文件流,在服务器端创建PageOffice的Wor ...
- java学习之旅(day.19)
多线程 线程简介 多任务:同时做多件事 进程(Process):在操作系统中运行的程序就是进程,如QQ,播放器,游戏. 线程(Thread):一个进程可以有多个线程,如视频中同时听声音,看弹幕,看图像 ...