51nod 1080:两个数的平方和】的更多相关文章

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…
给出一个整数N,将N表示为2个整数i与j的平方之和(i <= j),如果有多种表示,按照i的递增序输出. 例如:N = 130,130 = 3^2 + 11^2 = 7^2 + 9^2(注:3^2 + 11^2同11^2 + 3^2算1种)   输入 一个数N(1 <= N <= 10^9) 输出 共K行:每行2个数,i j,表示N = i^2 + j^2(0 <= i <= j). 如果无法分解为2个数的平方和,则输出No Solution 输入样例 130 输出样例 3…
没心情写数学题啦啊   好难啊 #include<bits/stdc++.h> using namespace std; set<int> s; set<int>::iterator it; int main () { s.clear(); ;i*i<=1e9;i++) s.insert(i*i); int n; scanf("%d",&n); ; ;i*i<=n/;i++) { int t = n-i*i; if(s.find(…
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 &…
Given a non-negative integer c, your task is to decide whether there're two integers a and bsuch that a2 + b2 = c. Example 1: Input: 5 Output: True Explanation: 1 * 1 + 2 * 2 = 5 Example 2: Input: 3 Output: False Accepted 38,694 Submissions 117,992  …
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1684 题意: 新建一个位运算,求所有子集通过这个位运算后的答案的平方和是多少. 先想弱化版: 新建一个位运算,求所有子集通过这个位运算后的答案的和是多少. 枚举每一个二进制位,看有多少个子集能够使这一位为1 dp[i]表示前i个数中,能使枚举的这一位为1的方案数 根据第i个数选或者是不选转移 ans= Σ  2^j * 第j位的dp[n] 这里是平方和 设一个子集位运算…
一个简单的小算法来获取两个数的最大公约数, public class Test { public static void main(String[] args) { long result = gcd(15, 3); System.out.println(result); } public static long gcd(long m, long n) { while (n != 0) { long rem = m % n; m = n; n = rem; } return m; } }…
通过JavaScript的Math.random()方法可以获取0到1之间的任意随机数,那如何获取任意给定的两个数之间的随机数呢?如获取2和5之间的随机数,5和10之间的随机数等. 由于Math.random()函数总是返回0到1之间的一个随机数,我们可以把0看成最小数,把1看成最大数.假设最小数是max,最大数是min,通过下面的公式我们便可得出任意两个数之间的随机数: Math.random() * (max - min) + min 如果使用Math.floor()进行向下舍入操作,则需要…
刚开始的时候写,一直写不对:看似简单的功能,但是一定要小心:函数的定义: funciton functionName {.....}在functionName和{之间一定有空格啊! 我就是没加空格,就一直报错. 实现两个数相加: #! /usr/bin/ksh function add { if (( $# < 2 )); then echo "The arg in't correct" else sum=$(($1+$2)) echo $sum fi } add 1 add 1…
1-20的两个数把和告诉A,积告诉B,A说不知道是多少,B也说不知道,这时A说我知道了,B接着说我也知道了,问这两个数是多少? 分析: 设和为S,积为M. 首先,A:我不知道. 说明:S可以分解成多个组合,而2=1+1,3=1+2,40=20+20,39=19+20,只有一种分解方式,因此S应属于[4,38]集合. 其次,B:我也不知道. 说明:M也可以分解成多个组合,因此M不是质数. 再者,A:我现在知道了. 说明:S分解方式中只有一个相乘之后是合数,其他分解方式相乘之后都是质数.这样,A才能…