light oj 1109 - False Ordering

2023-12-13 19:39
文章标签 false oj light ordering 1109

本文主要是介绍light oj 1109 - False Ordering,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

开刷水题

1109 - False Ordering
   PDF (English)StatisticsForum
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 数据之间有一张顺序表,排序的依据是:

因子个数多的排到后面,因子个数相等的时候,数字较大的排到前面。

此时呢,键入一个 1 - 1000 的数字 n ,问在当前表中第 n 个数字是多少。

思路:

结构体模拟一下就好了,其他的方法也没有深究。

sort 排序肯定会打乱数字顺序,引入一个变量记录它的顺序就 ok 啦。

感想:

好友没更博客了,明天就是蓝桥杯了,就只是在这里留念一下。毕竟没有自己的名额昂,有个好师父,但是没珍惜....手速不行,脑袋转不开,只差四个名额...也怪自己当时没把握好方向,兴趣颇多吧。现在就好好的跟队友一起敲 bug 吧。

hpu的 ACMer 们,明天凯旋。

菜菜的 AC CODE:

#include<cstdio>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<string>
#include<map>
using namespace std;
typedef long long ll;
const int mz = 1e3+2;
const double pi = 2.0*acos(0.0);struct Q {int i;/*保留当前数字*/ int sum;
} a[mz];int get(int x)
{int sum = 0;for(int j = 1; j <= sqrt(x); j++) {if(x % j == 0)	sum += 2;}int tp = sqrt(x);if(tp * tp == x) sum--;return sum;
}bool cmp(Q x, Q y)
{if(x.sum != y.sum)return x.sum < y.sum;/*因子个数升序*/return x.i > y.i;/*因子相等时降序*/ 
}void init()
{for(int i = 1; i <= 1000; i++) {a[i].i = i;a[i].sum = get(i);}sort(a+1, a+1+1000, cmp);
}int main()
{int T, kc = 1;init();scanf("%d", &T);while(T--) {int n;scanf("%d", &n);printf("Case %d: ", kc++);printf("%d\n", a[n].i);}return 0;
}


这篇关于light oj 1109 - False Ordering的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/489701

相关文章

哈理工OJ 2179(深搜)

组合 Time Limit: 1000 MSMemory Limit: 32768 K Total Submit: 7(5 users)Total Accepted: 6(5 users)Rating: Special Judge: No Description 给出一个正整数N,从集合{1,2,3..N} 中找出所有大小为k的子集, 并按照字典序从小到大输出。 Input 第一行是一个整

每日OJ_牛客_求和(递归深搜)

目录 牛客_求和(递归深搜) 解析代码 牛客_求和(递归深搜) 求和_好未来笔试题_牛客网 解析代码         递归中每次累加一个新的数,如果累加和大于等于目标,结束递归。此时如果累加和正好等于目标,则打印组合。向上回退搜索其它组合。此题本身就是一个搜索的过程,找到所有的组合。 #include <iostream>#include <cmath>#in

在JavaScript当中,为什么NaN===NaN和NaN==NaN返回false?

作者:CSDN-PleaSure乐事 欢迎大家阅读我的博客 希望大家喜欢 使用环境:vscode chrome 今天这个话题的缘由是早上和一位同专业的学长聊天,他在公司完成了一个项目,项目当中有一个40个字段的返回值,于是牵扯到了某道他遇到的面试题,其中是需要用js找到某个数组当中null的索引,然后他问了我这样一个问题:你觉得NaN===NaN吗?当时我回答了不等于,然后他又追问为什么,

linux 环境下使用PHP OpenSSL扩展函数openssl_pkey_new(),返回false的原因

<?php$config = array('private_key_bits' => 2048,);$res = openssl_pkey_new($config); $res返回false的时候,检查发现,是linux系统缺少了openssl的配置,解决方法如下: 直接将php -m 中 Openssl 中的xx.conf 配置移动到对应的目录,然后重启php-fpm 完美解决

mysql中,字段类型为tinyint(1),在查询时为啥不显示正常的数字而是true或false?

背景 在查询数据的时候发现gender字段应该显示1,2,3,4等这样的数字,但是查出来却是true或false这样的boolean类型 分析 不免产生疑问,为何education字段也是存的数字,就能正确显示出数字,而gender不行,我又查看字段,发现这两个字段的类型不一样 gender字段的类型是tinyint()类型,那在不想改变字段类型的情况下,该如何能查出正确的数据呢?

OJ-0905

题目 示例1: 输入:10 10 56 34 99 1 87 8 99 3 255 6 99 5 255 4 99 7 255 2 99 9 255 213 4输出:99 示例2: 输入:10 10 255 34 0 1 255 8 0 3 255 6 0 5 255 4 0 7 255 2 0 9 255 213 5输出:255 import java.util.

关于No resource found that matches the given name 'Theme.AppCompat.Light' No resource found that ma

关于No resource found that matches the given name  'Theme.AppCompat.Light' No resource found that matches the given name   'android:Widget.Material.ActionButton.CloseMode'. 我的上一遍文章 http://blog.csdn.net

MySQL - 关于 False、True、0、1、tinyint(1) 的说明

MySQL 保存 Boolean 值时,用 1 代表 TRUE,0 代表 FALSE;类似一个 bit 位,默认没有数据,即为 0,也即 Faslse     MySQL 存储 Boolean 值的类型为 tinyint(1) 类型;MySQL 中有 true、false、TRUE、FALSE 四个常量,代表1、0、1、0 mysql> select true,false,TRUE,F

每日OJ_牛客_Emacs计算器(逆波兰表达式)

目录 牛客_Emacs计算器(逆波兰表达式) 解析代码 牛客_Emacs计算器(逆波兰表达式) Emacs计算器__牛客网 解析代码 逆波兰表达式(后缀表达式)求值,需要借助栈,思路: 循环输入,获取逆波兰表达式,然后进行以下补助,直到测试完所有的测试用例: 遇到数字字符串,将该数字字符串转化为数字然后入栈。遇到操作符时,从栈顶取两个数字,然后进行该运算符所对应运算

西北工业大学oj题-兔子生崽

题目描述: 兔子生崽问题。假设一对小兔的成熟期是一个月,即一个月可长成成兔,每对成兔每个月可以生一对小兔,一对新生的小兔从第二个月起就开始生兔子,试问从一对兔子开始繁殖,一年以后可有多少对兔子? 这道题目一眼看过去就是典型的递归问题,代码如下 public class RabbitReproduction {public static void main(String[] args) {in