题目背景

做数学寒假作业的怨念……

题目描述

给定两个整点的坐标,求它们所在直线的函数解析式(一次函数)。

输入输出格式

输入格式:

输入共两行。

第一行有两个整数x1,y1。表示第一个整点的坐标为(x1,y1)

第二行有两个整数x2,y2。表示第二个整点的坐标为(x2,y2)

输出格式:

输出共一行,即这个函数解析式。

输入输出样例

输入样例#1: 复制

【一】
3 6
2 4
【二】
3 5
2 7
【三】
3 -1
5 -2
输出样例#1: 复制

【一】
y=2x
【二】
y=-2x+11
【三】
y=-1/2*x+1/2

说明

二乘X表示为2x

二分之一乘X表示为1/2*x

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int x1,x2,y1,y2;
int fz,fm;
int gcd(int x,int y){
return x==?y:gcd(y%x,x);
}
int main(){
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
fz=y1-y2;
fm=x1-x2;
int GCD=gcd(fz,fm);
fz/=GCD;fm/=GCD;
printf("y=");
if(fm==&&fz!=) printf("%dx",fz);
else if(fm!=&&fz!=){
if(fz*fm<) printf("-%d/%d*x",abs(fz),abs(fm));
else if(fz*fm>) printf("%d/%d*x",abs(fz),abs(fm));
}
if(fm==){
if(y1-fz*x1>) printf("+%d",y1-fz*x1);
else if(y1-fz*x1<) printf("-%d",y1-fz*x1);
}
else{
int fmm=abs(fm),fzz=fmm*y1;
if(fz*fm<){
fzz+=fz*x1;GCD=gcd(fzz,fmm);
fzz/=GCD;fmm/=GCD;
if(fzz!=)
if(fzz*fmm<) printf("-%d/%d",abs(fzz),abs(fmm));
else if(fzz*fmm>) printf("+%d/%d",abs(fzz),abs(fmm));
}
else{
fzz-=fz*x1;GCD=gcd(fzz,fmm);
fzz/=GCD;fmm/=GCD;
if(fzz!=)
if(fzz*fmm<) printf("-%d/%d",abs(fzz),abs(fmm));
else if(fzz*fmm>) printf("+%d/%d",abs(fzz),abs(fmm));
}
}
}

洛谷 P2026 求一次函数解析式的更多相关文章

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

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

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

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

  3. 洛谷1440 求m区间内的最小值

    洛谷1440 求m区间内的最小值 本题地址:http://www.luogu.org/problem/show?pid=1440 题目描述 一个含有n项的数列(n<=2000000),求出每一项 ...

  4. 洛谷 P1451 求细胞数量

    题目链接 https://www.luogu.org/problemnew/show/P1451 题目描述 一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字 ...

  5. 【新知识】队列&bfs【洛谷p1996约瑟夫问题&洛谷p1451求细胞数量】

    (是时候为五一培训准备真正的技术了qwq) part1  队列(FIFO) 算法简介: FIFO:First In First Out(先进先出) 队列是限定在一端进行插入,另一端进行删除的特殊线性表 ...

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

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

  7. 洛谷 P1440 求m区间内的最小值

    传送门 思路 由于数据范围很大,所以使用单调队列,和滑动窗口这道题类似 首先第一个数输出\(0\),因为第一个数之前没有数 然后通过样例我们发现,最后一个数并没有派上什么用场,所以循环\(n-1\)轮 ...

  8. 题解 P2026 【求一次函数解析式】

    高中方式轻松解决这个模拟题. 首先我们了解斜率的简单求法: \[k= {y2-y1 \over x2-x1}{=}{\Delta y \over \Delta x}\] 然后我们了解到让我们求解一次函 ...

  9. 洛谷 1440 求m区间内的最小值

    洛谷  1440 求m区间内的最小值 题目描述 一个含有n项的数列(n<=2000000),求出每一项前的m个数到它这个区间内的最小值.若前面的数不足m项则从第1个数开始,若前面没有数则输出0. ...

随机推荐

  1. R学习:《机器学习与数据科学基于R的统计学习方法》中文PDF+代码

    当前,机器学习和数据科学都是很重要和热门的相关学科,需要深入地研究学习才能精通. <机器学习与数据科学基于R的统计学习方法>试图指导读者掌握如何完成涉及机器学习的数据科学项目.为数据科学家 ...

  2. linux 查看tomcat 实时日志

    进入tomcat下logs文件夹下,若没有Catalina.out文件先去启动服务在回到logs文件夹输入 tail -f catalina.out ,可看到实时日志

  3. Android学习总结(2)——App客户端与服务器交互中的token

    学习Token Token是什么? Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Tok ...

  4. 洛谷 P1718 图形复原

    P1718 图形复原 题目描述 HWX小朋友对几何的热爱在电脑组是出了名的,号称“每题必解”,这天,LXC在玩logo的时候突然想到了一个题目,刚好可以去测试一下他封号的虚实,于是,他logo编程画了 ...

  5. 为线程绑定CPU

    // learn gcc atomic variable #define _GNU_SOURCE #include <stdio.h> #include <stdlib.h> ...

  6. 第一天,Mysql安装,DDL(数据库定义语言),DBA,DML(数据库操纵语言),导入外面的sql文件

    把“D:\mysql-5.6.22-winx64\bin”添加到系统环境变量path中了,然后在任意目录可访问mysql等命令,这样如登录等操作就不需要进入MySQL安装目录才好执行! MySQL下载 ...

  7. layout-代码中添加view

    今天需要在代码中动态的给一个布局添加一个imageview,现在把方法记录如下.直接看demo代码 //创建容器 final LinearLayout layout = new LinearLayou ...

  8. c++值传递,指针传递,引用传递以及指针与引用的区别

    值传递: 形参是实参的拷贝,改变形参的值并不会影响外部实参的值.从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入, 不能传出.当函数内部需要修改参数,并且不希望这个改变影 ...

  9. Java学习笔记十

    网络编程: 一.osi和TCP协议对照: 二.通讯三要素: 三.InetAddress对象简述: import java.net.InetAddress; import java.net.Unknow ...

  10. vue 使用同一组件,切换时不触发created、mounted钩子

    两个页面参数不同使用同一组件,默认情况下当这两个页面切换时并不会触发created或者mounted钩子. 方法一:通过watch $route的变化来做处理 watch: { $route() { ...