杭电2015‘11校赛 1004 质方数
2015-11-29 23:29
225 查看
1004 质方数
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3247 Accepted Submission(s): 1080
Problem Description
小明天生对数字比较敏感,3岁的时候就能背诵圆周率一百位。现在,小明慢慢长大了,但依然很喜欢数字,最近,他迷上了质数和平方数,并且自己把质数的平方命名为“质方数”。
现在,他在研究这样一个问题:距离一个正整数N最接近的质方数是多少?
Input
输入数据第一行是一个正整数T(T<=20),表示有T组输入数据。接下来T行,每行输入一个正整数N(1<=N<=10^8)。
Output
对于每组数据,请输出距离N最接近的质方数,每组输出占一行。Sample Input
21
10
Sample Output
49
题解:
打个素数表..然后直接找最近就好了..
代码
#include <iostream> #include <cmath> #include <cstdio> using namespace std; #define N 10005 long long int T,n,a ; int prime(int n) { for(int i=2;i<=sqrt(n);i++) if(n%i==0) return 0; return 1; } int main() { int t=0,tt; for(int i=2;i<=10005;i++) if(prime(i)==1) a[t++]=i*i; cin>>T; while(T--) { cin>>n; if(n==1) cout<<"4"<<endl; else { for(int i=0;i<t;i++) if(a[i]>=n) {tt=i; break;} if( (n-a[tt-1])<=(a[tt]-n)) cout<<a[tt-1]<<endl; else cout<<a[tt]<<endl; } } return 0; }
相关文章推荐
- MongoDB——MongoProvider
- javascript权威指南学习笔记(三)
- ubuntu14.04安装luci
- java中遍历MAP的几种方法
- SAP ECC6 IDES安装及虚拟机下载
- 新Java运动:测试驱动开发3---用户注册
- TimeCacheMap的解析与使用
- python协程
- linux-文件系统管理09-盘符漂移问题
- hdu-- 计算机学院大学生程序设计竞赛(2015’11)
- Ubuntu 14.04 Web服务器Tomcat安装测试
- 对象的上转型对象,接口回调
- 121 js中(function(){…})()立即执行函数写法理解
- Java多态性理解
- ios 在appdelegate里添加UINavigationController
- 自定义控件-ViewPager篇
- [软件渲染器入门]四-额外章节,使用技巧和并行处理来提高性能
- 判断两个数组是不是有相同元素
- 关于前端写代码之前应该做到的事情
- Linux之最简字符驱动的编码模型