高中方式轻松解决这个模拟题。

首先我们了解斜率的简单求法:

\[k= {y2-y1 \over x2-x1}{=}{\Delta y \over \Delta x}
\]

然后我们了解到让我们求解一次函数解析式(斜截式),就是说\(k\)值一定存在!

所以这个题我们可以用点斜式解决。

点斜式又是什么?

$$y-y1=k(x-x1)$$

条件:基于k值和点\((x1,y1)\)

好,这样就能求。

我们再推导一下,把点斜式化成斜截式:

\[\because y-y1=k\cdot x-k\cdot x1
\]

\[\therefore y=k\cdot x+(y1-k\cdot x1)
\]

\[\therefore b=y1-k\cdot x1
\]

不多说,k和b都有可能是分数。

但是我们有黑科技gcd啊!这里安利递推gcd。

inline int gcd(int a,int b)
{
while (b!=0){int c=b;b=a%b;a=c;}
return a;
}

因为输入的数据都是整数,所以我们不用担心b通分的毒瘤问题。

\[\because k={\Delta y\over \Delta x}\space\space\space\space\therefore b={y1\cdot \Delta x-\Delta y\cdot x1\over \Delta x}
\]

好!接下来大家都知道该怎么做了吧!

Code:

//(Mode:C++)
//Author is Jelly_Goat.
//No cheat because it's very easy to understand.
#include <bits/stdc++.h>
#define ori ={1,1}//初始化,懒得打函数
using namespace std; struct fenshu{
int fenzi,fenmu;
fenshu a(void);
}k ori,b ori;
inline int gcd(int a,int b)
{
while (b!=0){int c=b;b=a%b;a=c;}
return a;
}
void work(int x1,int y1,int x2,int y2)
{
k.fenzi=y2-y1,k.fenmu=x2-x1;//k=Δy/Δx
int temp=gcd(k.fenzi,k.fenmu);
k.fenzi/=temp,k.fenmu/=temp;//化简k
//推导b:(y-y1)=k(x-x1) -> y=kx+(y1-k*x1) -> b=y1-k*x1
b.fenzi=k.fenmu*y1-k.fenzi*x1,b.fenmu=k.fenmu;
temp=gcd(b.fenzi,b.fenmu);
b.fenzi/=temp,b.fenmu/=temp;//化简b
printf("y=%d",&k.fenzi);
if (k.fenmu!=1){printf("/%d",&k.fenmu);}
printf("*x");
if (b.fenzi!=0)
{
printf("+%d",&b.fenzi);
if (b.fenmu!=1){printf("/%d",&b.fenmu);}
}
}
int main()
{
int x1,x2,y1,y2;
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
work(x1,y1,x2,y2);
return 0;
}

然鹅一样的防作弊系统。(都懂)

Thanks for your reading! End here.

题解 P2026 【求一次函数解析式】的更多相关文章

  1. 洛谷——P2026 求一次函数解析式

    P2026 求一次函数解析式 题目背景 做数学寒假作业的怨念…… 题目描述 给定两个整点的坐标,求它们所在直线的函数解析式(一次函数). 输入输出格式 输入格式: 输入共两行. 第一行有两个整数x1, ...

  2. 洛谷 P2026 求一次函数解析式

    P2026 求一次函数解析式 题目背景 做数学寒假作业的怨念…… 题目描述 给定两个整点的坐标,求它们所在直线的函数解析式(一次函数). 输入输出格式 输入格式: 输入共两行. 第一行有两个整数x1, ...

  3. code vs1517 求一次函数解析式(数论 纯数学知识)

    1517 求一次函数解析式  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题解  查看运行结果     题目描述 Description 相信大家都做过练 ...

  4. codevs——1517 求一次函数解析式

    1517 求一次函数解析式  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题解       题目描述 Description 相信大家都做过练习册上的这种 ...

  5. leetCode题解之求二叉树每层的平均值

    1.题目描述 Given a non-empty binary tree, return the average value of the nodes on each level in the for ...

  6. leetCode题解之求二叉树最大深度

    1.题目描述 Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along t ...

  7. 【题解】求细胞数量-C++

    题目描述一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数.(1<=m,n<=100)? 输入输出格式输入格 ...

  8. Leetcode题解 - 双指针求n数之和

    1. 两数之和 """ 双指针,题目需要返回下标,所以记录一个数字对应的下标 """ class Solution: def twoSum( ...

  9. 洛谷——P2067 Cytus-Holyknight

    P2067 Cytus-Holyknight 题目背景 本人最初作 以此纪念伟大的ios.安卓.PSV平台音乐游戏<cytus> 后续将不断更新. -------------Chapter ...

随机推荐

  1. Winfrom Panel Scroll End 的实现

    场景:在一个panel里面有非常多的自定义绘制的控件,在拖拉滚动条的时候,控件的画面上有残影 不知道大家遇到过这种情况没,一直做web的winform经验太少,有更好的解决办法请贡献 首先放出我的解决 ...

  2. Xming 多屏选项

    最早接触xming是从GrADS软件弹出的那个窗口开始的.到后来发现它是一个显示图形界面的软件,设置multiwindow 选项,xshell+xming连远程服务器,屡试不爽.随着设备升级,用上了双 ...

  3. java学习(一) 环境搭建、hello world的demo

    本程序媛搞前端的,上班偶有空闲,不妨来学习学习,不然怎么包养小白脸,走上人生巅峰? 说实话,每个语言都相通,有了javascript的基础,并且有了两三年跟java打交道的经验,简单学习下java想必 ...

  4. hdfs命令大全

    hdfs常用命令: 第一部分:hdfs文件系统命令 第一类:文件路径增删改查系列: hdfs dfs -mkdir dir  创建文件夹 hdfs dfs -rmr dir  删除文件夹dir hdf ...

  5. texlive2018和texstudio的安装及汉化教程

    latex是编写论文的利器,尤其是公式的编辑是word等不可比的,且公式可以支持转换为Matgtype,十分方便且学习周期短. 下文是texlive2018和texstudio的安装教程: 本文转自: ...

  6. 【坚持】Selenium+Python学习记录 DAY8

    2018/05/ 28 [来源:菜鸟教程](http://www.runoob.com/python3/python3-examples.html) 继续敲类相关的代码 #No.1 class peo ...

  7. Windows下LimeSDR Mini使用说明

    本文内容.开发板及配件仅限用于学校或科研院所开展科研实验! 淘宝店铺名称:开源SDR实验室 LimeSDR链接:https://item.taobao.com/item.htm?spm=a230r.1 ...

  8. TensorFlow --- 01初识

    由于博客园对Markdown支持不够友好,阅读此文请前往云栖社区:TensorFlow --- 01初识

  9. VMware启动Centos时出现错误Cannot open the disk 'xxxxxxx.vmdk' or one of the snapshot disks it depends on. .

    今天拔装虚拟机的硬盘的时候,没有关掉虚拟机,导致虚拟打开的时候出现:Cannot open the disk 'xxxxxxx.vmdk' or one of the snapshot disks i ...

  10. users命令详解

    基础命令学习目录 原文链接:https://blog.csdn.net/m0_38132420/article/details/78861464 users命令用于显示当前登录系统所有的用户的用户列表 ...