主题链接: pid=1669">http://acm.fzu.edu.cn/problem.php?pid=1669 题目大意: 求满足以a.b为直角边,c为斜边,而且满足a + b + c <= L的直角三角形的个数. 思路: 勾股定理.a.b.c也就是本原毕达哥拉斯三元组,则满足: x = m^2 - n^2 y = 2*m*n z = m^2 + n^2 当中m > n,且若m为奇数,则n为偶数.若m为偶数.则n为奇数. 枚举m.n,然后将三元组乘以i倍.保证 i * (…
设不定方程:x^2+y^2=z^2若正整数三元组(x,y,z)满足上述方程,则称为毕达哥拉斯三元组.若gcd(x,y,z)=1,则称为本原的毕达哥拉斯三元组. 定理:正整数x,y,z构成一个本原的毕达哥拉斯三元组且y为偶数,当且仅当存在互素的正整数m,n(m>n),其中m,n的奇偶性不同,并且满足 x=m^2-n^2,y=2*m*n, z=m^2+n^2 本题目让你求的是,在n范围内(x,y,z<=n)本原的毕达哥拉斯三元组的个数,以及n以内且毕达哥拉斯三元组不涉及的数的个数. 举个样例:25…
题意:(a, b, c)为a2+b2=c2的一个解,那么求gcd(a, b, c)=1的组数,并且a<b<c<=n,和不为解中所含数字的个数,比如在n等于10时,为1, 2, 7,9则输出4. 好了!把所用知识点说一下: 数论之勾股数组(毕达哥拉斯三元组) 本原勾股数组(a,b,c)(a为奇数,b偶数)都可由如下公式得出:a=st,b=(s²-t²)/2, c = (s²+t²)/2, 其中s>t>=1是没有公因数的奇数. 再把勾股数公式拿过来: 套路一: 当a为大于1的奇数…
本原毕达哥拉斯三元组是由三个正整数x,y,z组成,且gcd(x,y,z)=1,x*x+y*y=z*z 对于所有的本原毕达哥拉斯三元组(a,b,c) (a*a+b*b=c*c,a与b必定奇偶互异,且c为奇数.这里我们设b为偶数) 则:和 a=st b=(s*s-t*t)/2 c=(s*s+t*t)/2 其中s>t>=1且gcd(s,t)=1 是一一对应的. 看看别人得证明: http://blog.csdn.net/loinus/article/details/7824841 看看我的证明 有了…
本题来自 Project Euler 第9题:https://projecteuler.net/problem=9 # Project Euler: Problem 9: Special Pythagorean triplet # A Pythagorean triplet is a set of three natural numbers, # a < b < c, for which, a**2 + b**2 = c**2 # For example, 3**2 + 4**2 = 9 +…
本题来自:http://pe.spiritzhang.com/index.php/2011-05-11-09-44-54/10-9a--b--c--1000a-b-c #include <stdio.h> int main() { int a,b,c; ;a<;a++) ;b<;b++) { c=-a-b; if(a*a+b*b==c*c) printf("%d %d %d\n",a,b,c); } ; } 感觉很多都做过的,代码还是慢慢的贴把…
入门 启动Shell 在cmd中输入命令”erl”,百分号(%)表示一个注释的开始,从百分号开始到这行结束的所有文本都被看做是注释. 一个完整的命令需要以一个句点和一个回车结束. 退出erlang的命令是q(). 命令 f() 会让 shell释放它所绑定过的所有变量.即所有的变量都编程自由变量. 变量 所有的变量必须以大写字母开头. Eralng的变量只能被赋一次值,第二次赋值会出现匹配失败的错误.一个变量如果含有一个被赋予的值,就称为绑定变量,否则称为自由变量.一开始所有变量都是自由的. 在…
T3: 分解质因数. lalala T4: 暴模. 然而数学方法怎么搞?---->也就是怎么手算?... 于是看了一下讨论区...发现原来我的数学已经低于小学生水平了... 我们把答案abccba拆成100001a+10010b+1100c,然后它是11的倍数. 我们先撂在这 然后考虑我们的乘数,因为答案最大显然9开头,那么两个乘数末尾组合只能是(1,9),(3,3),(7,7) 我们可以枚举出900-1000中11的倍数,发现末尾是1,3,7,9 的只有913,957,979 然后后面就懒得写…
没有关于erlang interface ,继续寻找吧... --------------------------------------------------------------- erl -noshell -pa erlpath  -s hello(hello.beam) start(in hello.erl) 这个脚本需要使用绝对路径指向包含 hello.beam erlang shell #ls.sh#!/bin/bashls > sunexit 0 %%echo.erl-modu…
题意是这样,给定一个1000x1000的点阵.m组询问.每次询问一个由(0,0).(x,0)点一以及从原点出发的方向向量(a,b)构成的直角三角形包围的点的权值和. 点的权值是(x+A)(y+B),当中A,B是给定的常数 做法也非常显然,将查询离线下来依照方向向量排序,之后的操作就相当于用一根端点在原点的线从x轴開始往y轴扫,不断地把扫到的点的权值增加到树状数组中. 每次扫到某个查询的方向向量时,用这个三角形的底边求前缀和,记录下来就好了. 权值会爆int,注意下就好了 #include<map…