zoukankan      html  css  js  c++  java
  • 40023113线段上格点的个数

    试题描述

    给定平面上的两个格点P1=(x1,y1)和P2=(x2,y2),线段P1P2上,除了P1和P2以外一共有多少个格点?

    输入
    一行包括四个数,分别为x1,x2,y1和y2,两两之间用一个空格分隔。
    输出
    输出一个数,表示题目描述的格点的个数。
    输入示例
    1 5 11 3
    输出示例
    3
    其他说明
    数据范围:-10^9<=x1,x2,y1,y2<=10^9,x1,x2,y1,y2均为正整数。

    辗转相除法求最大公约数,用递归。

     1 #include <iostream>
     2 
     3 using namespace std;
     4 int x1,x2,y1,y2;
     5 int gcd(int a,int b)
     6 {
     7     if(b==0) return a;
     8     else return gcd(b,a%b);
     9 }
    10 int main()
    11 {
    12     scanf("%d%d%d%d",&x1,&x2,&y1,&y2);
    13     if(x1-x2==0 && y1-y2==0) printf("0");
    14     else cout<<gcd(abs(x1-x2),abs(y1-y2))-1;
    15     return 0;
    16 }
    40023113线段上格点的个数
  • 相关阅读:
    增删改
    创建数据库
    数据库的列类型
    数据库
    Python os.ttyname() 方法
    Python os.tmpnam() 方法
    Python os.tmpfile() 方法
    Python os.tempnam() 方法
    Python os.tcsetpgrp() 方法
    LR运行负载测试场景-笔记
  • 原文地址:https://www.cnblogs.com/YXY-1211/p/5156765.html
Copyright © 2011-2022 走看看