We define  B  is a Divisor of one number  A  if  A  is divisible by  B.
So, the divisors of 12 are 1, 2, 3, 4, 6, 12.
So, 12 has 6 divisors in total.
Now you have to order all the integers from 1 to 100000 by the following rules:
X will come before Y if
(1) the number of divisors of X is less than the number of divisors of Y
(2) the number of divisors of X is equal to the number of divisors of Y and X > Y.

Input

there are many test cases.
Each case contains an integer n (1 ≤ n ≤ 100000).

Output

For each case, print the case number and the nth number after ordering.
1
2
3
4
1000
Case 1: 1
Case 2: 99991
Case 3: 99989
Case 4: 99971
Case 5: 88741
<pre name="code" class="cpp">#include<cstdio>
#include<iostream>
#include<cstring>
#include<queue>
#include<algorithm>
using namespace std;
priority_queue<int>que[129];
const int n=100000;
int a[n+1],b[n+1];
void star(){
fill(a,a+n+1,0);
fill(b,b+n+1,0);
for(int i=1;i<=n;i++){
for(int j=1;i*j<=n;j++){
a[i*j]++;
}
}
for(int i=0;i<=n;i++){
que[a[i]].push(i);
}
for(int k=1,i=1;i<=128;i++){
while(!que[i].empty()){
b[k++]=que[i].top();
que[i].pop();
}
}
}
int main ()
{
star();
int k=1,t;
while(~scanf("%d",&t))
printf("Case %d: %d\n",k++,b[t]);
return 0;
}


JUST SORT的更多相关文章

  1. [算法]——归并排序(Merge Sort)

    归并排序(Merge Sort)与快速排序思想类似:将待排序数据分成两部分,继续将两个子部分进行递归的归并排序:然后将已经有序的两个子部分进行合并,最终完成排序.其时间复杂度与快速排序均为O(nlog ...

  2. [算法]——快速排序(Quick Sort)

    顾名思义,快速排序(quick sort)速度十分快,时间复杂度为O(nlogn).虽然从此角度讲,也有很多排序算法如归并排序.堆排序甚至希尔排序等,都能达到如此快速,但是快速排序使用更加广泛,以至于 ...

  3. shell之sort命令

    1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出. [rocrocket@rocrocket progr ...

  4. 详细解说 STL 排序(Sort)

    0 前言: STL,为什么你必须掌握 对于程序员来说,数据结构是必修的一门课.从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来.幸运的是这些理论都已经比较成熟,算 ...

  5. SQL Tuning 基础概述06 - 表的关联方式:Nested Loops Join,Merge Sort Join & Hash Join

    nested loops join(嵌套循环)   驱动表返回几条结果集,被驱动表访问多少次,有驱动顺序,无须排序,无任何限制. 驱动表限制条件有索引,被驱动表连接条件有索引. hints:use_n ...

  6. js sort() reverse()

    数组中存在的两个方法:sort()和reverse() 直接用sort(),如下: ,,,,,,,,,,,]; console.log(array.sort());ps:[0, 1, 2, 2, 29 ...

  7. Java中的经典算法之冒泡排序(Bubble Sort)

    Java中的经典算法之冒泡排序(Bubble Sort) 神话丿小王子的博客主页 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一 ...

  8. 2.sort 排序命令讲解

    sort命令  sort:文本排序,仅仅是对显示文件的排序,而不影响源文件的顺序,是根据ASSII码     的字符升序来排列的.        -n:安装数值大小从小到大排列 ,默认是升序.     ...

  9. 基本shell编程【3】- 常用的工具awk\sed\sort\uniq\od

    awk awk是个很好用的东西,大量使用在linux系统分析的结果展示处理上.并且可以使用管道, input | awk ''  | output 1.首先要知道形式 awk 'command' fi ...

  10. 快速排序算法 quick sort的理解

    最近做了一下算法的一些练习,感觉基础薄弱了,只是用一些已经有的东西来完成练习如quickSort(c++使用的时候是sort(起始位置,终止位置,比较函数),这个需要加头文件),但是不知道怎么推出来, ...

随机推荐

  1. Lucene基础(2)

    上一篇:Lucene基础(1) 一.Lucene术语 Document, Field, Term, Query, Analyzer相信在其中大多数在之前已经理解了...对其中部分概念详细说明 Docu ...

  2. CentOS系统使用配置文件修改IP地址详细教程

    在VM虚拟机安装的centos系统,默认使用的是dhcp自动获取ip地址的方式,而我自己想用这个centos在局域网内搭建一个小型演示站点,这个自动获取ip地址的方式就明显不好了,那么centos如何 ...

  3. eclipse设置java虚拟机内存大小

    设置java虚拟机大小可以让eclipse启动运行更快...... 在eclipse中点击window--preferences--java--Installed JREs. 然后看右边的框,鼠标点击 ...

  4. 3.1 Data Member的绑定

       文章开始提出了一段示例代码,并讨论了返回哪个x的问题.然后 a)   给出了我们普遍认为正确的回答,并肯定了这个想法: b)   提醒大家,这在以前的编译器实现中,并非正确. 在早期的实现中,首 ...

  5. vs打开项目,创建虚拟目录,提示权限不足无法写入配置文件

    如题,从源代码管理器上获取下来程序后,自己打开始,提示如题,尝试过以管理员启动vs,给目录权限提升,修改csproj项目配置文件(修改userIIS节点)and so on,无意间在用别的文档编辑器编 ...

  6. sql注入绕过union select过滤

    # # # #WAF Bypassing Strings: /*!%55NiOn*/ /*!%53eLEct*/ ,,)-- - +union+distinct+select+ +union+dist ...

  7. Shell脚本常用判断

    -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真  -f filename 如果 filename为常规文件,则为真 -L fi ...

  8. Get和Post请求的区别

    Get:组拼url的方式,提交数据到服务器,url最大长度不能超过4K; Post:直接浏览器把数据写给服务器,流的形式.

  9. Unity 的几种打包姿势(android)

    Unity 版本  4.3.2 图片1 1 默认的工程进行打包 得到的apk为8.1m(net subset) 图片2 2 代码剥离最小 – use mirco mscorlib 图片3 3  从网上 ...

  10. 新任 CEO 致员工公开信:微软下一步做什么?

    在微软宣布纳德拉成为新任 CEO 之后,全体微软员工收到了新掌门人的公开信,我们来看看他在信中都写了些什么?   我是谁?   我今年 46 岁,结婚已经 22 年了,现在有三个孩子.和其他人一样,我 ...