51nod 1080 两个数的平方和

基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题
 收藏
 关注
给出一个整数N,将N表示为2个整数i j的平方和(i <= j),如果有多种表示,按照i的递增序输出。
例如:N = 130,130 = 3^2 + 11^2 = 7^2 + 9^2 (注:3 11同11 3算1种)
Input
一个数N(1 <= N <= 10^9)
Output
共K行:每行2个数,i j,表示N = i^2 + j^2(0 <= i <= j)。
如果无法分解为2个数的平方和,则输出No Solution
Input示例
130
Output示例
3 11
7 9


1.枚举所有平方到题目范围(33000*33000)

2.二分查找是否存在对数

3.标记已使用

4.输出



阅读更多
个人分类: 基础算法
上一篇51nod 1001 数组中和等于K的数对
下一篇51nod 1134 最长递增子序列
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭