《Cracking the Coding Interview》——第7章:数学和概率论——题目3

2014-03-20 02:05

题目:给定笛卡尔二维平面上两条直线,判断它们是否相交。

解法:相交、重合、平行。

代码:

 // 7.3 Given two lines on the Cartesian, determine if they would intersect.
#include <cstdio>
using namespace std; int main()
{
// a * x + b * y + c = 0;
// d * x + e * y + f = 0;
int a, b, c, d, e, f;
bool suc; while (scanf("%d%d%d%d%d%d", &a, &b, &c, &d, &e, &f) == ) {
if ((a == && b == ) || (d == && e == )) {
// invalid line
suc = false;
} else if (a * e == b * d) {
if (a * f == c *d) {
// coincident
suc = true;
} else {
// parallel
suc = false;
}
} else {
// intersect
suc = true;
}
if (suc) {
printf("Yes\n");
} else {
printf("No\n");
}
} return ;
}
上一篇:SQL Server用户自定义类型与统计信息


下一篇:VS2017 安装Swagger初步认识