Light OJ 1109 - False Ordering
来源:互联网 发布:ubuntu apache php 编辑:程序博客网 时间:2024/05/21 09:10
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
题解:
题意是找出1000以内所有整数的因子数,并按以下规则排列,并输出排列后的第n项。
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.
其中找因子的方法我用了类似于找素数的方法,类似于筛法,然后再利用快排,写比较函数时按题目给出的规则来写,比较简单。
代码:
#include<stdio.h>#include<algorithm>#include<string.h>using namespace std;struct f{ int number; int value;}a[1100];int cmp(f a,f b){ if(a.value<b.value)return 1; else if(a.value>b.value)return 0; else if(a.value==b.value) { if(a.number>b.number)return 1; else return 0; }}int main(){ for(int i=1;i<=1010;i++) { a[i].number=i; a[i].value=0; } for(int i=1;i<=1010;i++) { for(int j=i;j<=1010;j+=i) { a[j].value++; } } sort(a+1,a+1000+1,cmp); /*for(int i=1;i<=10;i++) { printf("i=%d %d\n",i,a[i].number); }*/ int t,x=1; scanf("%d",&t); while(t--) { int n; scanf("%d",&n); printf("Case %d: %d\n",x++,a[n].number); } return 0;}
- Light OJ 1109 - False Ordering
- LIGHT OJ 1109 - False Ordering 【因子个数】
- 【light-oj】-1109 - False Ordering(数学)
- LightOJ 1109 False Ordering
- LightOJ 1109 False Ordering
- lightoj-1109 - False Ordering【思维】
- False Ordering
- lightoj 1109 - False Ordering 因式分解+排序
- LightOJ 1109 - False Ordering (因子数打表排列)
- LOJ 1109 - False Ordering (排序)
- 【LightOJ】1109 - False Ordering(打表)
- light oj 1109
- lightoj1109 - False Ordering
- light oj
- light oj
- Light OJ
- Light OJ
- Uva Oj 10305 - Ordering Tasks
- HDU 2828 DLX搜索
- Qt和Linux connect 冲突问题及函数末尾加const
- HexToDecimal
- 游戏开发工具
- paip.自适应网页设计 跟 响应式 设计的区别跟原理and实践总结
- Light OJ 1109 - False Ordering
- Android Activity类详解
- String构造器中originalValue.length>size 发生的情况
- 对象数组报错“空指针”:Exception in thread "main" java.lang.NullPointerException
- UVa 10205 Stack 'em Up
- CRichEditCtrl相关应用技巧收集
- ExtJS4 动态生成的grid导出为excel(纯前台)
- 机器学习(ML)中文视频教程
- ubuntu下安装oracle java8