HDU 1058 Humble Numbers(打表+暴力)
2016-04-17 18:24
453 查看
Humble Numbers
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 22427 Accepted Submission(s): 9800
[align=left]Problem Description[/align]
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
[align=left]Input[/align]
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.
[align=left]Output[/align]
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.
[align=left]题解:[/align]
[align=left]找出能被2,3,5,7整除的数,即素因子。既是素数,又是因子。然后找出是第几个。。。。[/align]
[align=left]AC代码:[/align]
[align=left]暴力+打表[/align]
#include <cstdio> #define min(a,b) ((a) < (b) ? (a):(b)) #define min4(a,b,c,d) min(min(a,b),min(c,d)) int a[5850]; int main(void) { int n = 1; int p2,p3,p5,p7; p2 = p3 = p5 = p7 = 1; a[1] = 1; while(a < 2000000000) { a[++n] = min4(2 * a[p2],3 * a[p3], 5 * a[p5], 7 * a[p7]); if(a == 2 * a[p2]) p2++; if(a == 3 * a[p3]) p3++; if(a == 5 * a[p5]) p5++; if(a == 7 * a[p7]) p7++; } while(~scanf("%d",&n)) { if(n==0)break; printf("The %d",n); int ten = n/10%10; if(n%10 == 1 && ten != 1) printf("st"); else if(n%10 == 2 && ten != 1) printf("nd"); else if(n%10 == 3 && ten != 1) printf("rd"); else printf("th"); printf(" humble number is %d.\n",a ); } return 0; }
相关文章推荐
- 项目中的体会-老师布置作业界面
- 第一个ShaderToy——画圆、方、三角
- HDU2544 最短路 + 裸 + dijkstra + 邻接矩阵
- Linux性能测试命令系列(1)- top
- Java进阶学习第五天——XML入门
- [java基础]final关键字
- js---匿名函数和闭包
- angularjs结合localstorage完成一个简单的备忘录
- 求gcd(i,j,k)=m的方案数,i,j,k不同且属于1-n(组合数学+筛法(倍数法))
- 浅谈HashMap
- OpenCV坐标体系的初步认识
- HDU2544 最短路 + 裸 + Bellman-ford + 链表存储
- 手算KMP匹配的Next值和Nextval值
- 如何学习java
- PhantomJS
- 开启hive数据表的update delete
- Win10中的IIS10安装php manager和IIS URL Rewrite
- View的事件分发机制
- Python学习笔记2-flask-sqlalchemy 简单笔记
- 提高PHP代码质量的36个技巧