📄 1444.cpp
字号:
/* This Code is Submitted by wywcgs for Problem 1444 on 2005-09-17 at 11:33:22 */
#include <stdio.h>
int main()
{
long humble[6000], min;
int i, order = 0, minp, n;
int index[4], prime[4] = {2, 3, 5, 7};
for(i = 0; i < 4; i++) {
index[i] = 0;
}
humble[order++] = 1;
while(scanf("%d", &n) == 1) {
if(n == 0) {
return 0;
}
while(order < n) {
min = 0x7FFFFFFF;
for(i = 0; i < 4; i++) {
while(prime[i] * humble[index[i]] <= humble[order-1]) {
index[i]++;
}
if(prime[i] * humble[index[i]] < min) {
min = prime[i] * humble[index[i]];
minp = i;
}
}
humble[order++] = min;
index[minp]++;
}
printf("The %d", n);
switch(n % 10) {
case 1:
if(n % 100 != 11) {
printf("st ");
} else {
printf("th ");
}
break;
case 2:
if(n % 100 != 12) {
printf("nd ");
} else {
printf("th ");
}
break;
case 3:
if(n % 100 != 13) {
printf("rd ");
} else {
printf("th ");
}
break;
default:
printf("th ");
break;
}
printf("humble number is %ld.\n", humble[n-1]);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -