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) 收藏 举报 这是今天...

结构体指针数组完成输入学生姓名学号数学语文成绩修改排序显示等功能

#include #include int num=0; struct student { char name[10]; int id; int math; int china; }; typ...

lightoj1311——Unlucky Bird(数学)

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

socket编程——sockaddr_in结构体操作

http://blog.sina.com.cn/s/blog_6151984a0100etj1.html     sockaddr结构体 sockaddr的缺陷:sa_data把目标地址和端口信息...

黑马程序员——ios开发基础之C语言数组、指针与结构体

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 第一讲  数组...

Swift入门(七)——结构体(Struct)

引子之前我们在用Int,String等类型的时候,可能没有仔细研究过,其实这些基本类型与C或者Java不一样,不是严格的“基本类型”,他们其实是经过封装的结构体。按住Alt键点击Int类型后,可以看到...

获取网络接口信息——ioctl()函数与结构体struct ifreq、 struct ifconf

转载请注明出处:windeal专栏 Linux 下 可以使用ioctl()函数 以及 结构体 struct ifreq  结构体struct ifconf来获取网络接口的各种信息。 io...
  • Windeal
  • Windeal
  • 2014年09月16日 17:57
  • 8694

第16周实践项目一——复数结构体

问题及代码 编写一个程序,首先定义一个复数数据类型,即结构类型。然后按照复数的运算规则进行计算,并按照复数表示的格式进行输出,请将程序补充完整。 #include struct complex...
  • mcp3128
  • mcp3128
  • 2016年12月15日 08:32
  • 105

基于android 的GPS 移植——主要结构体及接口介绍

最近负责 Android 驱动的GPS部分,所谓Android驱动 我觉得可以说成是linux应用 之前发了一个图描述了 Android GPS 架构 GPS芯片大多采用串口通信,所以只要CP...

自定义类型——结构体,枚举,联合

自定义类型——结构体,枚举,联合 结构体   聚合数据类型(aggregate data type)能够同时存储超过一个的单独数据。C提供了两种类型的聚合数据类型,数组和结构。数组是相同类型的元素的集...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Lightoj1109——False Ordering(数学+结构体)
举报原因:
原因补充:

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