Lightoj1109——False Ordering(数学+结构体)

原创 2016年08月30日 10:00:51

                                                                         1109 - False Ordering

    PDF (English) Statistics Forum
Time Limit: 1 second(s) Memory Limit: 32 MB

We define b is a Divisor of a 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.

Now you have to order all the integers from 1 to 1000. x will come before y if

1)                  number of divisors of x is less than number of divisors of y

2)                  number of divisors of x is equal to number of divisors of y and x > y.

Input

Input starts with an integer T (≤ 1005), denoting the number of test cases.

Each case contains an integer n (1 ≤ n ≤ 1000).

Output

For each case, print the case number and the nth number after ordering.

Sample Input

Output for Sample Input

5

1

2

3

4

1000

Case 1: 1

Case 2: 997

Case 3: 991

Case 4: 983

Case 5: 840



题意:判断1-1000的排序问题,按因子数从小到大排列,如果因子数相同,按数字从大到小排列。

不会看什么时间复杂度,结果试了各种方法都被否定了。看来别人代码才知道,由于数字给的小,完全可以两重for的,暴力一下就ok了。

#include<cstdio>
#include<algorithm>
using namespace std;
struct st
{
	int num,div; 
}a[1010];
bool cmp(st a,st b)
{
	if(a.div==b.div)
	   return a.num>b.num;
	return a.div<b.div; 
 } 
int main()
{
	int t,flag=1;
	scanf("%d",&t);
	a[1].num=1;
	a[1].div=1;
	for(int i=2;i<=1000;i++)
	{
		a[i].num=i;
		for(int j=1;j<=i;j++)
		{
			if(i%j==0)
			   a[i].div++; 
		} 
	 } 
	sort(a+1,a+1001,cmp);
	while(t--)
	{
		int n;
		scanf("%d",&n);
		printf("Case %d: %d\n",flag++,a[n].num);
	} 
	return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

map key是结构体的find问题:小于号重载须注意的问题 strict weak ordering

map key是结构体的find问题:小于号重载须注意的问题 strict weak ordering 2010-12-08 10:35 609人阅读 评论(0) 收藏 举报 这是今天...

lightoj1311——Unlucky Bird(数学)

A bird was flying on a train line, singing and passing lazy times. After a while it saw a train comi...

基础性理解——Foundation框架(结构体细解)

Foundation框架是基础性框架,由于本人现在也还是小白一枚。对框架的一些理解性知识分享给大家,有什么不足之处还需要各位技术大牛多多留言提出建议,以拯救小白不致传播错乱的知识。 Foun...

黑马程序员——OCFoundation框架-8:结构体

OC Foundation结构体的一些基本运用

C语言——结构体

C语言——结构体 宗旨:技术的学习是有限的,分享的精神的无限的。 1、结构体的作用:个人理解,结构体就是把一堆相关的数据打包成一个结构,使其放在一块内存区域。——项目之中尽量使用结构体,而不...

C语言——结构体、局部变量和全局变量、枚举

局部变量与全局变量    按照作用域不同将变量分为 局部变量和全局变量    局部变量:定义在函数内部变量    作用域:从定义的那一行开始直到所在代码结束    生命周期:从定义的那一行开始...

串口程序设计——struct termios结构体

串口程序设计——struct termios结构体   一、数据成员 termios 函数族提供了一个常规的终端接口,用于控制非同步通信端口。 这个结构包含了至少下...

C语言结构体的大小——内存对齐和位域的使用

C语言结构体对齐 C语言结构体对齐也是老生常谈的话题了。基本上是面试题的必考题。内容虽然很基础,但一不小心就会弄错。写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结...

100道动态规划——13 UVA 10163 Storage Keepers 有约束条件下的DP,递推,不能使用结构体作为基本单位

这道题目,我需要和另外一道题目来进行比较。 UVA 12563  这是我的题解:http://blog.csdn.net/good_night_sion_/article/details/53187...

C语言专题笔记——结构体

程序中内存从哪里来在一个c语言程序中,能够获取内存的三种情况:栈(stack)、堆(heap)、数据区(.data)。 栈:   运行时自动分配&自动回收   反复使用:栈内存在程序中其实就是一...
  • Lwins
  • Lwins
  • 2016-10-11 15:10
  • 120
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)