Humble Numbers

Time Limit: 1000MS Memory Limit: 65536K

Total Submissions: 9988 Accepted: 4665

Description

A number whose only prime factors are 2,3,5 or 7 is called a humble number. The sequence 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 24, 25, 27, … shows the first 20 humble numbers.

Write a program to find and print the nth element in this sequence.

Input

The input consists of one or more test cases. Each test case consists of one integer n with 1 <= n <= 5842. Input is terminated by a value of zero (0) for n.

Output

For each test case, print one line saying “The nth humble number is number.”. Depending on the value of n, the correct suffix “st”, “nd”, “rd”, or “th” for the ordinal number nth has to be used like it is shown in the sample output.

Sample Input

1

2

3

4

11

12

13

21

22

23

100

1000

5842

0

Sample Output

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.

Source

Ulm Local 1996

好恶心的输出格式

#include <iostream>
#include <cmath>
#include <cstring>
#include <cstdlib>
#include <stdio.h>
#include <string>
#include <queue>
#include <vector>
#include <algorithm>
#define LL long long
using namespace std; const int INF = 0x3f3f3f3f; const LL MAX = 2000000000; LL A[10000];
int top;
int main()
{
//freopen("output.txt","w",stdout);
LL a,b,c,d;
top=0;
for(int i=0; i<=33; i++)
{
if(i==0)
{
a=1;
}
else
{
a*=2;
}
if(a>MAX)
{
break;
}
for(int j=0; j<=33; j++)
{
if(j==0)
{
b=1;
}
else
{
b*=3;
}
if(a*b>MAX)
{
break;
}
for(int k=0; k<=33; k++)
{
if(k==0)
{
c=1;
}
else
{
c*=5;
}
if(a*b*c>MAX)
{
break;
}
for(int s=0; s<=33; s++)
{
if(s==0)
{
d=1;
}
else
{
d*=7;
}
if(a*b*c*d>MAX)
{
break;
}
else
{
A[top++]=a*b*c*d;
}
}
}
}
}
sort(A,A+top);
int n;
while(scanf("%d",&n)&&n)
{
if(n%10==1&&(n%100>=20||n%100<10))
{
printf("The %dst humble number is %I64d.\n",n,A[n-1]);
}
else if(n%10==2&&(n%100>=20||n%100<10))
{
printf("The %dnd humble number is %I64d.\n",n,A[n-1]);
}
else if(n%10==3&&(n%100>=20||n%100<10))
{
printf("The %drd humble number is %I64d.\n",n,A[n-1]);
}
else
{
printf("The %dth humble number is %I64d.\n",n,A[n-1]);
}
}
return 0;
}

Humble Numbers的更多相关文章

  1. [poj2247] Humble Numbers (DP水题)

    DP 水题 Description A number whose only prime factors are 2,3,5 or 7 is called a humble number. The se ...

  2. HDU - The number of divisors(约数) about Humble Numbers

    Description A number whose only prime factors are 2,3,5 or 7 is called a humble number. The sequence ...

  3. A - Humble Numbers

    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Pract ...

  4. The number of divisors(约数) about Humble Numbers[HDU1492]

    The number of divisors(约数) about Humble Numbers Time Limit: 2000/1000 MS (Java/Others)    Memory Lim ...

  5. 洛谷P2723 丑数 Humble Numbers

    P2723 丑数 Humble Numbers 52通过 138提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交  讨论  题解 最新讨论 暂时没有讨论 题目背景 对于一给定的素数 ...

  6. HDU 1058 Humble Numbers (DP)

    Humble Numbers Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  7. HDOJ 1058 Humble Numbers(打表过)

    Problem Description A number whose only prime factors are 2,3,5 or 7 is called a humble number. The ...

  8. The number of divisors(约数) about Humble Numbers

    The number of divisors(约数) about Humble Numbers Time Limit: 2000/1000 MS (Java/Others)    Memory Lim ...

  9. HDU1058 Humble Numbers 【数论】

    Humble Numbers Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) T ...

随机推荐

  1. 续【C# 以管理员方式启动Winform,进而使用管理员控制Windows Service】

    前提:在我们的域环境下,给分配了管理员级别两个账号(user0,user1). 需求:只允许一个账户运行进程"WindowsFormsApplication1": 1,)当已经运行 ...

  2. 2-sat(and,or,xor)poj3678

    Katu Puzzle Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7949   Accepted: 2914 Descr ...

  3. ACM常用算法及练习(2)

    ACM常用算法及练习 知识类型 重要度 容易度 应掌握度 典型题 其他           数据结构(5) 链表 ★★☆ ★★★ ★★☆     栈 stack ★★★ ★★★ ★★★ HLoj120 ...

  4. [转] linux中pam模块

    一.pam简介 Linux-PAM(linux可插入认证模块)是一套共享库,使本地系统管理员可以随意选择程序的认证方式. 换句话说,不用(重新编写)重新编译一个包含PAM功能的应用程序,就可以改变它使 ...

  5. Java基础(4):Scanner输入的典型应用

    import java.util.Scanner; /* * 功能:为指定的成绩加分,直到分数大于等于60为止 * 输出加分前的成绩和加分后的成绩,并且统计加分的次数 * 步骤: * 1.定义一个变量 ...

  6. 。。。Hibernate注解配置的注意事项。。。

    今天本来打算录视频的,突然遇到一个拦路虎,Hibernate注解配置,有一个注意点:要么都在属性上面注解配置,要么都在getXX()方法上面用注解配置,要不然就会报错: Caused by: org. ...

  7. paper 38 :entropy

    图像熵计算 真是为了一个简单的基础概念弄的心力交瘁,请教了一下师姐,但是并没有真的理解,师弟我太笨呀~~所以,我又查熵的中文含义和相关的出处!共勉吧~~ 1.信息熵: 利用信息论中信息熵概念,求出任意 ...

  8. 07---Net基础加强

    第六节复习 泛型和非泛型集合的区别 通常情况下,建议您使用泛型集合,因为这样可以获得类型安全的直接优点而不需要从基集合类型派生并实现类型特定的成员.此外,如果集合元素为值类型,泛型集合类型的性能通常优 ...

  9. oracle冷备份后恢复

    本地恢复 在运行中输入cmd. 在cmd界面中输入sqlplus/nolog进入sql*plus. 以dba身份连接数据库conn sys/你设定的密码 as sysdba. 输入:shutdown ...

  10. Jquery文档接口遍历

    // children():获取所有子元素 <%@ page language="java" contentType="text/html; charset=utf ...