题解 P2026 【求一次函数解析式】
高中方式轻松解决这个模拟题。
首先我们了解斜率的简单求法:
\]
然后我们了解到让我们求解一次函数解析式(斜截式),就是说\(k\)值一定存在!
所以这个题我们可以用点斜式解决。
点斜式又是什么?
$$y-y1=k(x-x1)$$
条件:基于k值和点\((x1,y1)\)
好,这样就能求。
我们再推导一下,把点斜式化成斜截式:
\]
\]
\]
不多说,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通分的毒瘤问题。
\]
好!接下来大家都知道该怎么做了吧!
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 【求一次函数解析式】的更多相关文章
- 洛谷——P2026 求一次函数解析式
P2026 求一次函数解析式 题目背景 做数学寒假作业的怨念…… 题目描述 给定两个整点的坐标,求它们所在直线的函数解析式(一次函数). 输入输出格式 输入格式: 输入共两行. 第一行有两个整数x1, ...
- 洛谷 P2026 求一次函数解析式
P2026 求一次函数解析式 题目背景 做数学寒假作业的怨念…… 题目描述 给定两个整点的坐标,求它们所在直线的函数解析式(一次函数). 输入输出格式 输入格式: 输入共两行. 第一行有两个整数x1, ...
- code vs1517 求一次函数解析式(数论 纯数学知识)
1517 求一次函数解析式 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 查看运行结果 题目描述 Description 相信大家都做过练 ...
- codevs——1517 求一次函数解析式
1517 求一次函数解析式 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 题目描述 Description 相信大家都做过练习册上的这种 ...
- leetCode题解之求二叉树每层的平均值
1.题目描述 Given a non-empty binary tree, return the average value of the nodes on each level in the for ...
- leetCode题解之求二叉树最大深度
1.题目描述 Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along t ...
- 【题解】求细胞数量-C++
题目描述一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数.(1<=m,n<=100)? 输入输出格式输入格 ...
- Leetcode题解 - 双指针求n数之和
1. 两数之和 """ 双指针,题目需要返回下标,所以记录一个数字对应的下标 """ class Solution: def twoSum( ...
- 洛谷——P2067 Cytus-Holyknight
P2067 Cytus-Holyknight 题目背景 本人最初作 以此纪念伟大的ios.安卓.PSV平台音乐游戏<cytus> 后续将不断更新. -------------Chapter ...
随机推荐
- STM8S——Analog/digital converter (ADC)
1.ADC1 and ADC2 are 10-bit successive approximation Anolog to Digital Converters. 所谓successive appro ...
- (转)为什么所有浏览器的user-agent都是Mozilla
最早的时候有一个浏览器叫NCSA Mosaic,把自己标称为NCSA_Mosaic/2.0 (Windows 3.1),它支持文字显示的同时还支持图片,于是Web开始好玩起来. 然后出现了一个新的网页 ...
- Loadrunner安装使用入门
1. Loadrunner11安装指南 1)支持的Windows环境 2)安装 开始安装时会提示需要以下软件: .NET Framework v3.5 SP1 Microsoft WSE 2.0 SP ...
- Java编辑PPT的折线图,与内嵌Excel联动
/** * 折线图的数据写入方法 * @param slide ppt图表 * @param index 折线图的下标 * @param data 需要填充的数据 * @param titles 内嵌 ...
- 【RabbitMQ】三种Exchange模式——订阅、路由、通配符模式
https://blog.csdn.net/ww130929/article/details/72842234
- Mysql读写分离——主从数据库+Atlas
mysql集群 最近在参加项目开发微信小程序后台,由于用户数量巨大,且后台程序并不是很完美,所以对用户的体验很是不友好(简单说就是很卡).赶巧最近正在翻阅<大型网站系统与Java中间件实践> ...
- 关于jQuery Form Plugin使用心得
吐槽一下先 好久没开发了,今天遇到一个客户form提交的问题,想把form提交从同步变成ajax的异步方式,在网页接受返回来的数据,使用的是jquery from插件,于是网上搜了一圈,博客园,csd ...
- salt-api https连接问题
在非salt-api的主机上测试api连通性,测试代码如下: #!/usr/bin/env python import pycurl import StringIO import ssl ssl._c ...
- node jade模板数据库操作
/* Navicat MySQL Data Transfer Source Server : localhost Source Server Version : 50519 Sourc ...
- PHP处理表单数据的一个安全回顾(记录教训)
曾经看过一个安全文章中写过这么一条 表单输入数据要做 htmlspecialchars_decode 表单输出数据要做htmlspecialchars 当时还不是很理解为什么,自己也没遇到问题,所以就 ...