利用找因子来找方程解的个数
有一些方程要求我们求它的正整数解有多少个,现在我们就来解决一些方程。
题目一:HDU1299
题意:给出n的值,求方程满足条件:x<=y且x,y都是正整数解的个数。
解析:实际上就是先令y=n+k,带入解之:
然后就是求n^2的因子个数问题了。
题目二:HIT2893
题意:设方程是,输入一个数N,注意N可能为负数,然后求有多少个正整数x,y满足此方程。
解析:跟上题一样的方法。
题目三:NEFU647
题意:,输入m,n,问有多少个x,y符合此方程,x,y都大于1,x<=y。
解析:本题先对m,n约分,然后可以先变形:
把mx,my当整体,分别是X,Y,然后就跟HDU1299的方法一样,这里要先求出所有因子,求出所有因子后,可以计算出X,Y然后判断对应的X,Y能否都整除m,如果都整除就count++
这里主要想重点说一下如何快速求一个数的因子:
先对要求的数n素因子分解,然后深搜就可以了。
void dfs(LL dep, LL product=1)
{if(dep==c){arr[cnt++]=product;return;}for(int i=0;i<=a[dep];i++){dfs(dep+1,product);product*=p[dep];}
}
题目四:SPOJ1434
题意:对于方程,输入N,求有多少个x,y满足此方程,其中x<=y.
解析:我就不说跟上面的题是一样的方法了,注意N!可以很大,用Java的BigInteger做。
题目五:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1165
题意:给定一直角三角形的周长L,求有多少个这样的直角三角形。注意这里数据很多,50000组,且L<10^7
分析:
由:,消去z得到:,把x,y,z都表示出来后发现只要y是整数,那么x,z也就是整数了。我们进一步令,我们得到:,根据x,y,z的范围我们可以确定出k的范围满足,所以问题就转化为求因子fac中满足条件的个数。
利用找因子来找方程解的个数相关推荐
- matlab利用图像减法实现找茬
★ Z=imsubtract(X,Y):该函数中X和Y表示进行图像减法运算的两幅图像,Z表示X-Y后的操作结果 利用该函数实现找茬代码如下: close all;clear all;clc; %利用图 ...
- 从键盘输入 5 个学生姓名,利用字符串函数,找出长度最长的那个并输出。
从键盘输入 5 个学生姓名,利用字符串函数,找出长度最长的 那个并输出. #include <stdio.h> #include <string.h> int main(){c ...
- 【找实习啊找实习(一)】
由于听闻今年的就业形势不好(淘宝限招等事件),搞得我也慌了,所以特别开始早点准备.由于之前错过了tx的校招让我后悔不已,所以现在基本给笔试和面试的,我都会去.庆幸的是51之前就已经拿到了两份offer ...
- android实现按键找图功能,按键精灵安卓版找图教程 找图功能使用技巧介绍
按键精灵安卓版找图脚本使用技巧: --提高找图速度的3种方式 1.善于利用按键移动版新增的KeepCapture和ReleaseCapture函数 KeepCapture:截取当前图片并保存在缓存中, ...
- c语言韦达定理求方程解,解一元二次方程练习题(韦达定理)
<解一元二次方程练习题(韦达定理)>由会员分享,可在线阅读,更多相关<解一元二次方程练习题(韦达定理)(13页珍藏版)>请在人人文库网上搜索. 1.解一元二次方程练习题(配方法 ...
- GPS从入门到放弃(十) --- 定位方程解算和定位精度
GPS从入门到放弃(十) - 定位方程解算和定位精度 上一篇伪距与载波相位中我们介绍了伪距的计算方法,也得到了包含 (x,y,z,δt)(x,\ y,\ z,\ \delta_t)(x, y, z, ...
- c语言韦达定理求方程解,巧用韦达定理简化解题过程
高中的平面解析几何,是用代数方法来研究平面几何图形的问题,它所提出的问题以及问题的结论都是几何形式,而中间的论证和推导基本上是用代数方法.有许多题型中都会涉及二次函数韦达定理的综合应用. 韦达定理反映 ...
- 4月21日云栖精选夜读:【校园头条】第1期:找实习、找工作时,让你脱颖而出的秘籍...
你还在为寻找一个工作而苦苦追求吗?你想在面试的时候能脱颖而出吗?现在小编为大家准备了找工作的秘籍,这个秘籍一般人我可是不会告诉他的呢!要知道有时候你与工作的距离仅仅只有一个秘籍的差距,看完这个秘籍也许 ...
- 分治法:关于选择算法,找最大,找最小,同时找最大和最小,找第二大
找最大或者最小,蛮力算法为最优的算法,需要比较n-1次 # 这个已经是最优的算法了,比较n-1次 def findMax(arr):max_pivot = arr[0]for i in range(1 ...
最新文章
- TensorFlow(6)神经网络训练(DNN)
- 自然语言处理NLP基本知识小结
- 彭博社:中企游说政府否决英伟达收购Arm
- linux-basic(13)学习shell script
- ASP.NET 页面生存周期概览
- 23种设计模式之原型模式代码实例
- java 家庭收支账户
- bzoj 1627: [Usaco2007 Dec]穿越泥地(BFS)
- 80端口和443端口是什么?有什么区别?
- 计算机语言中下划线表示什么,下划线是什么
- word如何一键全选_word如何全选所有内容
- 计算机实验原理word,完整word版计算机组成原理实验报告 微控制器
- 1477: 多重继承派生(1)--家具、床、沙发和沙发床
- java实时获取窗口大小_把游戏窗口的大小改变为640 X 480?
- 常见的状态码1xx、2xx、3xx、4xx、5xx、
- MySQL之数据类型
- 从新手到熟练,怎么学好Zbrush?
- Redis分布式中间件TwemProxy
- 乘风破浪的5G,与隐藏在深海的EMC暗礁
- 加班费的计算方法和标准