博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu---------3189-------------------
阅读量:6845 次
发布时间:2019-06-26

本文共 1388 字,大约阅读时间需要 4 分钟。

水体一个,但是这种做题的方法值得发扬光大............

Just Do ItTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1122    Accepted Submission(s): 743Problem DescriptionNow we define a function F(x), which means the factors of x. In particular, F(1) = 1,since 1 only has 1 factor 1, F(9) = 3, since 9 has 3 factors 1, 3, 9. Now give you an integer k, please find out the minimum number x that makes F(x) = k. InputThe first line contains an integer t means the number of test cases.The follows t lines, each line contains an integer k. (0 < k <= 100). OutputFor each case, output the minimum number x in one line. If x is larger than 1000, just output -1. Sample Input442592 Sample Output6216-1

意思大概是,,,,,,9的因子都有1  3  9   三个数字  4也有三个因子    现在输入一个3  你需要输出   4(因为4 是有三个因子的数字中最小的数字)....意思就是这            很简单打表遍历,,,,但是  遍历的时候想到了,,,  如果倒序   遍历的话,例如  便利到9发现有3个因子,

这时候数组赋值为   a[3]=9;   然后一会有到4了,也是4个因子  在此进行赋值  a[3]=4;   这样的话,,简单又弱智

 

#include
#include
int main(){ int q,i,j,m,n,t,a[1001],b,c; memset(a,0,sizeof(a)); for(i=1000;i>0;i--) { q=0; for(j=i;j>0;j--) { if(i%j==0) q++; } a[q]=i; } scanf("%d",&t); while(t--) { scanf("%d",&n); m=a[n]; if(m==0) m=-1; printf("%d\n",m); } return 0;}

 

转载于:https://www.cnblogs.com/A-FM/p/5125244.html

你可能感兴趣的文章
全球皆可访问的 Google Codelabs 网站
查看>>
良好的 API 设计指南
查看>>
ReactiveCocoa 中 RACSignal 所有变换操作底层实现分析(中)
查看>>
Rust 交叉编译与条件编译总结
查看>>
Netflix推荐算法,让每个人看到不一样的电影海报
查看>>
【漫画】AI小猪的一生
查看>>
Android P 开发者预览版 · 操作指南
查看>>
技术问答集锦(三)
查看>>
Java 形参与实参
查看>>
JavaScript中this关键字
查看>>
抽丝剥茧 - 实例简析重构代码的三板斧
查看>>
React Native探索(一)环境搭建与Hello World(Windows/Mac)
查看>>
微服务之分布式配置中心
查看>>
异步编程需要“意识”
查看>>
阿里P7高级架构师分享6年多的Java工作经验(想冲破瓶颈者必看)
查看>>
条件随机场实现命名实体识别
查看>>
深入理解多线程(一)——Synchronized的实现原理
查看>>
数据结构与算法(java)
查看>>
杨婷:腾讯云在线教育解决方案分享
查看>>
一起撸个朋友圈吧(step1) - ListView(上)篇
查看>>