Rumah >pembangunan bahagian belakang >C++ >Dalam C++, kira bilangan titik integer antara dua titik
Dalam tutorial ini, kami akan menulis atur cara yang mencari bilangan titik integer antara dua mata yang diberikan.
Bilangan mata antara dua mata yang diberikan ialah gcd(abs(x2), abs(y1-y2)) - 1.
Jika garis penghubung selari dengan paksi-x, bilangan titik integer ialah abs(y1 - y2) - 1.
Jika garis penghubung selari dengan paksi-y, bilangan titik integer ialah abs(x1 - x2) - 1.
Jika koordinat-x bagi dua titik adalah sama, ia adalah selari dengan paksi-x. Jika koordinat-y dua titik adalah sama, ia adalah selari dengan paksi-y.
Mari kita lihat contoh.
Input
pointOne = [1, 5] pointTwo = [1, 3]
Output
1🎜🎜#
#include <bits/stdc++.h> using namespace std; int gcd(int a, int b) { if (b == 0) { return a; } return gcd(b, a % b); } int getCount(int pointOne[], int pointTwo[]) { if (pointOne[0] == pointTwo[0]) { return abs(pointOne[1] - pointTwo[1]) - 1; } if (pointOne[1] == pointTwo[1]) { return abs(pointOne[0] - pointTwo[0]) - 1; } return gcd(abs(pointOne[0] - pointTwo[0]), abs(pointOne[1] - pointTwo[1])) - 1; } int main() { int pointOne[] = {1, 3}, pointTwo[] = {10, 12}; cout << getCount(pointOne, pointTwo) << endl; return 0; }
Atas ialah kandungan terperinci Dalam C++, kira bilangan titik integer antara dua titik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!