当前位置: 首页 > news >正文

【ZOJ 1095】Humble Numbers 题解(动态规划)

一个素数只有2,3,5或7的数被称为谦逊数。序列1、2、3、4、5、6、7、8、9、10、12、14、15、16、18、20、21、24、25、27。。。显示了前20个不起眼的数字。
编写一个程序来查找并打印此序列中的第n个元素。

输入规范
输入由一个或多个测试用例组成。每个测试用例由一个整数n组成,其中1<=n<=5842。输入被n的零值(0)终止。
输出规格
对于每个测试用例,打印一行,上面写着“第n个谦逊的数字是数字。”。根据n的值,必须使用序数第n的正确后缀“st”、“nd”、“rd”或“th”,就像示例输出中所示的那样。

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.

思路

英语语法题,除凡是11、12、13结尾的数字接th外,凡是1、2、3结尾的数字分别接st、nd、rd,其他数字接th。

AC代码

#include <iostream>
#define AUTHOR "HEX9CF"
using namespace std;const int maxn = 5843;long long a[maxn];
int t2, t3, t5, t7;int main()
{int n;t2 = t3 = t5 = t7 = 1;a[1] = 1;for (int i = 2; i < maxn; i++){a[i] = min(min(2 * a[t2], 3 * a[t3]), min(5 * a[t5], 7 * a[t7]));if (a[i] == 2 * a[t2]){t2++;}if (a[i] == 3 * a[t3]){t3++;}if (a[i] == 5 * a[t5]){t5++;}if (a[i] == 7 * a[t7]){t7++;}}while (cin >> n && n){int h = n % 100;if (h > 10 && h < 14){printf("The %dth humble number is %d.\n", n, a[n]);}else{switch (n % 10){case 1:printf("The %dst humble number is %d.\n", n, a[n]);break;case 2:printf("The %dnd humble number is %d.\n", n, a[n]);break;case 3:printf("The %drd humble number is %d.\n", n, a[n]);break;default:printf("The %dth humble number is %d.\n", n, a[n]);break;}}}return 0;
}
http://www.lryc.cn/news/43845.html

相关文章:

  • 百科媒体背书,什么媒体的收录可以修改百科?
  • USB鼠标实现——HID 报告的返回(八)
  • DOPE PEG Maleimide,DOPE-PEG-Mal,二油酰磷脂酰乙醇胺PEG马来酰亚胺
  • python-课后作业-2
  • redis 六. list应用场景及底层分析
  • 成语填字接龙隐私政策
  • 导出LKD3588开发板的根文件系统
  • 【统计模型】某地区土壤所含可给态磷回归分析
  • redis 十. 线程基础
  • NQA简介
  • [python]上下文管理contextlib模块与with语句
  • STM32之TIM编码器接口
  • b站第一,Python自动化测试实战详细教学,3天教你学会自动化测试
  • 刷题记录:P8804 [蓝桥杯 2022 国 B] 故障 条件概率
  • 【算法】常用的基础数论
  • 云原生场景下的容器网络隔离技术
  • 用python绘制有向图
  • Spring MongoDB 开发教程(一)—官方原版
  • 数据结构——二叉搜索树
  • 23年5月高项学习笔记3---项目管理概述
  • 【组织架构】中国铁路成都局集团有限公司
  • 剧前爆米花--爪哇岛寻宝】java多线程案例——单例模式、阻塞队列及生产者消费者模型、定时器、线程池
  • Guitar Pro8中文版更新说明及系统要求介绍
  • 【id:19】【20分】A. 三数论大小(引用)
  • To_Heart—总结——FWT(快速沃尔什变换)
  • Google巨大漏洞让Win10、11翻车,小姐姐马赛克白打了
  • 腾讯云服务器部署内网穿透(让其他人在不同ip可以访问我们localhost端口的主机项目)(nps开源项目)
  • IDS、恶意软件、免杀技术、反病毒技术、APT、对称加密、非对称加密以及SSL的工作过程的技术介绍
  • 怎么把pdf转换成高清图片
  • MATLAB 系统辨识 + PID 自动调参