鱼C论坛

 找回密码
 立即注册
查看: 6021|回复: 20

[已解决]一道数学题,现在列出了方程,不知道怎么解【第二弹】

[复制链接]
发表于 2022-11-11 17:34:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x


原题链接:https://www.luogu.com.cn/problem/P8814 (放心,这一次可以公开了)

我的思路是这样的:
已知 p + q = n - (e * d - 2),还有 p * q = n,也就说明我们知道的两个数的和,积,问两个数各是多少?

我因为不知道如何解,我就只能用二分来做了……

但是,二分这算法,人人皆知,O(log n),太 low 了!男人肯定要追求 O(1) 的算法啦!

于是,我开始疯狂的找百度……

百度上有个人这么说
这道题只能用方程来求
假设两数之和是c,两数之积是s
a+b=c ab=s
a=c-b
(c-b)*b=s
cb-b∧2=s
因为c和s都是定值
所以可以求出b
然后代入a加b等于c,求出a


但是,cb-b∧2=s,是一道一元二次方程,因为我是小学生,所以我还是不会解

有没有人会一元二次方程,可以教教我吗

最佳答案
2022-11-11 19:00:31
本帖最后由 临时号 于 2022-11-11 20:46 编辑


公式法最简单,只要套公式就可以了
test.png
所以x^2+2x+1=0的解为x1=x2=-1(一元二次方程有两个解)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-11-11 18:25:19 | 显示全部楼层
@不二如是 您会吗,十分感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-11 18:34:45 | 显示全部楼层
本帖最后由 tommyyu 于 2022-11-11 18:36 编辑

求根公式,就是如果 ax^2+bx+c = 0,x1 = ( -b + sqrt(b^2+4ac) ) / (2a),x2 = ( -b - sqrt(b^2+4ac) )/ (2a)

推导过程(用鼠标写的,可能有一点潦草 ):

1.jpg
2.jpg

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
zhangjinxuan + 2 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-11 18:37:12 | 显示全部楼层
zhangjinxuan 发表于 2022-11-11 18:25
@不二如是 您会吗,十分感谢

这个东西好像是在初二会讲到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-11 18:39:45 | 显示全部楼层


去搜韦达定理吧
这个你直接可以学了
哦对 , 出成绩了  100 0 0 45
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-11 18:43:56 | 显示全部楼层
一元二次方程解法:
1.直接开平方
2.因式分解
3.配方法(需使用完全平方公式,公式为(a+b)^2=a^2+2ab+b^2)
4.公式法(由配方法推导而来,求根公式为x=(-b+-sqrt(b^2-4ac))/(2a),sqrt(b^2-4ac)<0则无解)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-11 18:44:58 | 显示全部楼层
tommyyu 发表于 2022-11-11 18:37
这个东西好像是在初二会讲到

我们这初三才讲(华东师大版)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-11 18:50:56 | 显示全部楼层
tommyyu 发表于 2022-11-11 18:34
求根公式,就是如果 ax^2+bx+c = 0,x1 = ( -b + sqrt(b^2+4ac) ) / (2a),x2 = ( -b - sqrt(b^2+4ac) )/ ...

凑合看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-11 18:51:27 | 显示全部楼层
临时号 发表于 2022-11-11 18:43
一元二次方程解法:
1.直接开平方
2.因式分解

具体一点~感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-11 18:52:46 | 显示全部楼层
tommyyu 发表于 2022-11-11 18:34
求根公式,就是如果 ax^2+bx+c = 0,x1 = ( -b + sqrt(b^2+4ac) ) / (2a),x2 = ( -b - sqrt(b^2+4ac) )/ ...

那么在这里,a, b, c 各指什么呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-11 19:00:31 | 显示全部楼层    本楼为最佳答案   
本帖最后由 临时号 于 2022-11-11 20:46 编辑


公式法最简单,只要套公式就可以了
test.png
所以x^2+2x+1=0的解为x1=x2=-1(一元二次方程有两个解)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-11 19:04:36 | 显示全部楼层
临时号 发表于 2022-11-11 19:00
公式法最简单,只要套公式就可以了

所以x^2+2x+1=0的解为x1=x2=-1(一元二次方程有两个解)

那么 a, b, c, x 分别代表本题的什么跟什么呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-11 19:10:01 | 显示全部楼层
临时号 发表于 2022-11-11 19:00
公式法最简单,只要套公式就可以了

所以x^2+2x+1=0的解为x1=x2=-1(一元二次方程有两个解)

方程理解了,那么 a, b, c, x 分别指什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-11 19:14:35 | 显示全部楼层
zhangjinxuan 发表于 2022-11-11 19:10
方程理解了,那么 a, b, c, x 分别指什么?

a=-1
b=c
c=-s
x=b
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-11 19:28:02 | 显示全部楼层

好的,我写一些代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-11 19:42:06 | 显示全部楼层
#include <bits/stdc++.h>
using namespace std;

int main(void) {
    long long k, e, d, n;
    scanf("%lld", &k);
    for (int i = 1; i <= k; ++i) {
                scanf("%lld%lld%lld", &n, &e, &d);
                long long s = n - (e * d - 2);
                double b = s, c = -n, x;
                x = (-b + sqrt(b * b - -4.0 * c)) / -2;
                
                long long p = s - (long long)x;
                long long q = (long long)x;
                if (p * q == n && (p - 1) * (q - 1) + 1 == e * d) {
                        if (p > q) swap(p, q);
                        printf("%lld %lld\n", p, q);
                } else printf("NO\n");
                
        }
    return 0;
}
怎么WA了??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-11 20:25:20 | 显示全部楼层
临时号 发表于 2022-11-11 18:44
我们这初三才讲(华东师大版)

我们学的是北师大版
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-11 20:25:51 | 显示全部楼层
临时号 发表于 2022-11-11 19:00
公式法最简单,只要套公式就可以了

所以x^2+2x+1=0的解为x1=x2=-1(一元二次方程有两个解)

条件不应该是a≠0么

评分

参与人数 1鱼币 +2 收起 理由
临时号 + 2 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-11 20:45:25 | 显示全部楼层
tommyyu 发表于 2022-11-11 20:25
条件不应该是a≠0么

哦,对,写快了,我改一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-16 11:42:42 | 显示全部楼层
临时号 发表于 2022-11-11 20:45
哦,对,写快了,我改一下

打扰一下,因为我要做一个每周一练,马上就要该我发了,而我就选这道题作为我下一次的每周一练,题解思路可以用您的吗?万分感谢^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-25 03:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表