题目描述
给定两个整点的坐标,求它们所在直线的函数解析式(一次函数)。
输入格式
第一行两个整数x1,y1,表示第一个点的坐标。
第二行两个整数x2,y2,表示第二个点的坐标。
-100<=x1,y1,x2,y2<=100,x1!=x2。
输出格式
输出一次函数解析式,具体格式看样例,分数必须是最简形式。
输出时每行末尾的多余空格,不影响答案正确性
样例输入1
3 6
2 4
样例输出1
y=2x
样例输入2
3 5
2 7
样例输出2
y=-2x+11
样例输入3
3 -1
5 -2
样例输出3
y=-1/2*x+1/2
题目解析
数学公式k1=y1-y2 ,k2=x1-x2 ,k=k1/k2 b1=x1y2-x2y1 b2=x1-x2 b=b1/b2;
注意:k=±1时的解析式:y=±x±b;
k1=0时的解析式:y=y1;
接下来分类讨论!(哎!坑坑太多,要小心,细心分类)
源码
#include <iostream>
#include <cmath>
using namespace std;
int gys(int m,int n)///求最大公约数
{
int c,z;
while (n!=0)
{
c=m%n;
m=n;
n=c;
z=m;
}
return (z);
}
int main()
{
int x1,x2,y1,y2,k1,k2,b1,b2,x,y;
double k3,b3;
cin>>x1>>y1>>x2>>y2