#131 对于某些质数,存在正整数n,使得n^3+n^2*p为立方数,100w以下有多少个这样的质数?
由于n^2*(n+p)为立方数,n分解质因数表示法为p[1]^e[1]*p[2]^e[2]*...*p[n]^e[n],则考虑e[k]模3的情况,可以得到结论:n+p的质因数分解中每个p[k]对应的e'[k]≡e[k](mod 3),且如果有其它质因数p',对应的指数应该是3的倍数,则n和n+p的最大公约数g为n除以一个立方数,若g不为1,则p整除n,记n=ap,则根据题意p^3*a^2*(a+1)为一个立方数,这样a必须为0,但这不可能,因此g一定是1,则推导出n是立方数,于是n+p也是立方数
设n+p=a^3,n=b^3,则a^3-b^3=p=(a-b)(a^2+ab+b^2),由于p是质数,所以只能是a-b为1,则a=b+1,代入后得到p=3b^2+3b+1,b从1开始生成p即可
#132 R的定义见129题,求R(10^9)的前40个质因数的和
用质数一个个试除即可,虽然数字很大,但是注意到对于R(N),若0<L<N,则R(N)=R(L)*(R(N-L)*9+1)+R(N-L),如此用分治和动态规划即可很快求解
#133 R的定义见129题,找到小于10000的所有不能被形如R(10^n)整除的质数,对这些数字求和
首先n=0的时候R(1)=1,然后递归定义R(10^n)=f(R(10^(n-1))),f有点长这里就不展开了,于是我们可以得到一个R的数列,这个数列的计算满足无后效性,于是我们对于任意质数p,可以定义一个列表,将上面这个数列每一项被p除的余数记在列表里,如果出现0,则可以整除,否则会出现一个长度为p-1的循环,据此可判断p是否能被R(10^n)整除
#134 经证明,除了3和5意外,对于任意两个连续的质数p1和p2,都存在正整数n,n的十进制表示法以p1结束,且能被p2整除,求5<=p1<=100w范围内所有最小n的和
设p1有i位,则有线性同余方程a*10^i+p1≡0(mod p2),解出a即可,解法参考初等数论(强搜试了下,挺慢的)
#135 正整数等差数列x,y,z,x^2-y^2-z^2=n,对于一个确定的n,可能有若干解,问小于100w的n中有多少n有刚好10组解?
设x=y+k,z=y-k,则代入后得到:y(4k-y)=n,求n的所有约数,检测z=y-k>0后统计即可
#136 同上题,问小于5000w的n中有多少n只有一组解?
算法同上,顺便说下,在这种数量级别下,求一个数约数的不同算法的差异就体现出来了
#137 设斐波拉契数列第n项表示为F[n],则有无限数列求和A(x)=F[1]x+F[2]x^2+F[3]x^3……考虑使得A(x)为自然数的x的值,大部分时候x的值都是无理数,有理数非常稀少,例如2是第一个使x为有理数的数列自然数和,此时x=1/2,第十个是74049690,求第十五个
首先x的取值必须令这个无限数列收敛,根据斐波拉契数列的定义和极限,x小于黄金分割数,同时我们将斐波拉契数列通项公式的两项拆开计算,这样就得到了两个等比数列,根据等比数列求和公式列出A(x)的多项式表示并求极限,设这个极限是自然数k,则得到以x为未知数的一元二次方程,若要x为有理数,则一元二次方程的根中的Δ必定为平方数,于是转化为丢番图方程求解,用指数函数插值很快就能求得结果,但是注意一定要用Decimal计算,double在16位之后就不准了
#138 等腰三角形腰长L,底边为b,底边上的高为h,考虑h和b的值仅相差1,且L,b,h都为整数的情况,求前12个L的和
利用整数的奇偶性证明b必定是偶数,虽然有个正负号,不过没关系,最后还是求解丢番图方程
#139 以一个正方形的边为斜边做直角三角形,四个直角三角形在正方形内部形成一个小正方形空洞,如果这个小正方形可以填满大正方形(即两者边长成倍数关系),在周长小于1亿的直角三角形中,有多少存在这个性质?
a<b<c,a^2+b^2=c^2,且b-a整除c,话说这题我真记不起来是怎么做的了,貌似是强搜吧,有个结论是当a,b,c是基本勾股数时,必然a+1=b,但是忘了怎么证明了,可能还是牵扯到佩尔方程
#140 与137题非常类似,只不过用的是另一个类斐波拉契数列G[1]=1,G[2]=4,G[n]=G[n-1]+G[n-2],将G和F并排写,会发现对应项的差刚好是斐波拉契数列右移一项后的三倍,于是G[n]=F[n]+3F[n-1],代入通项公式并整理,接着用137题的解法做就可以了,不过最后的丢番图方程有些不同,是两个递推序列,对应两条指数函数,仔细观察不难做出来 140题之后都有一定难度了,零散做了一些,持续整理
由于n^2*(n+p)为立方数,n分解质因数表示法为p[1]^e[1]*p[2]^e[2]*...*p[n]^e[n],则考虑e[k]模3的情况,可以得到结论:n+p的质因数分解中每个p[k]对应的e'[k]≡e[k](mod 3),且如果有其它质因数p',对应的指数应该是3的倍数,则n和n+p的最大公约数g为n除以一个立方数,若g不为1,则p整除n,记n=ap,则根据题意p^3*a^2*(a+1)为一个立方数,这样a必须为0,但这不可能,因此g一定是1,则推导出n是立方数,于是n+p也是立方数
设n+p=a^3,n=b^3,则a^3-b^3=p=(a-b)(a^2+ab+b^2),由于p是质数,所以只能是a-b为1,则a=b+1,代入后得到p=3b^2+3b+1,b从1开始生成p即可
#132 R的定义见129题,求R(10^9)的前40个质因数的和
用质数一个个试除即可,虽然数字很大,但是注意到对于R(N),若0<L<N,则R(N)=R(L)*(R(N-L)*9+1)+R(N-L),如此用分治和动态规划即可很快求解
#133 R的定义见129题,找到小于10000的所有不能被形如R(10^n)整除的质数,对这些数字求和
首先n=0的时候R(1)=1,然后递归定义R(10^n)=f(R(10^(n-1))),f有点长这里就不展开了,于是我们可以得到一个R的数列,这个数列的计算满足无后效性,于是我们对于任意质数p,可以定义一个列表,将上面这个数列每一项被p除的余数记在列表里,如果出现0,则可以整除,否则会出现一个长度为p-1的循环,据此可判断p是否能被R(10^n)整除
#134 经证明,除了3和5意外,对于任意两个连续的质数p1和p2,都存在正整数n,n的十进制表示法以p1结束,且能被p2整除,求5<=p1<=100w范围内所有最小n的和
设p1有i位,则有线性同余方程a*10^i+p1≡0(mod p2),解出a即可,解法参考初等数论(强搜试了下,挺慢的)
#135 正整数等差数列x,y,z,x^2-y^2-z^2=n,对于一个确定的n,可能有若干解,问小于100w的n中有多少n有刚好10组解?
设x=y+k,z=y-k,则代入后得到:y(4k-y)=n,求n的所有约数,检测z=y-k>0后统计即可
#136 同上题,问小于5000w的n中有多少n只有一组解?
算法同上,顺便说下,在这种数量级别下,求一个数约数的不同算法的差异就体现出来了
#137 设斐波拉契数列第n项表示为F[n],则有无限数列求和A(x)=F[1]x+F[2]x^2+F[3]x^3……考虑使得A(x)为自然数的x的值,大部分时候x的值都是无理数,有理数非常稀少,例如2是第一个使x为有理数的数列自然数和,此时x=1/2,第十个是74049690,求第十五个
首先x的取值必须令这个无限数列收敛,根据斐波拉契数列的定义和极限,x小于黄金分割数,同时我们将斐波拉契数列通项公式的两项拆开计算,这样就得到了两个等比数列,根据等比数列求和公式列出A(x)的多项式表示并求极限,设这个极限是自然数k,则得到以x为未知数的一元二次方程,若要x为有理数,则一元二次方程的根中的Δ必定为平方数,于是转化为丢番图方程求解,用指数函数插值很快就能求得结果,但是注意一定要用Decimal计算,double在16位之后就不准了
#138 等腰三角形腰长L,底边为b,底边上的高为h,考虑h和b的值仅相差1,且L,b,h都为整数的情况,求前12个L的和
利用整数的奇偶性证明b必定是偶数,虽然有个正负号,不过没关系,最后还是求解丢番图方程
#139 以一个正方形的边为斜边做直角三角形,四个直角三角形在正方形内部形成一个小正方形空洞,如果这个小正方形可以填满大正方形(即两者边长成倍数关系),在周长小于1亿的直角三角形中,有多少存在这个性质?
a<b<c,a^2+b^2=c^2,且b-a整除c,话说这题我真记不起来是怎么做的了,貌似是强搜吧,有个结论是当a,b,c是基本勾股数时,必然a+1=b,但是忘了怎么证明了,可能还是牵扯到佩尔方程
#140 与137题非常类似,只不过用的是另一个类斐波拉契数列G[1]=1,G[2]=4,G[n]=G[n-1]+G[n-2],将G和F并排写,会发现对应项的差刚好是斐波拉契数列右移一项后的三倍,于是G[n]=F[n]+3F[n-1],代入通项公式并整理,接着用137题的解法做就可以了,不过最后的丢番图方程有些不同,是两个递推序列,对应两条指数函数,仔细观察不难做出来 140题之后都有一定难度了,零散做了一些,持续整理
