【郑轻】[1768]Lovely Circular And Linear

文章字数:270

问题描述

Lovely Circular And Linear
时间限制:1 Sec内存限制:128 MB

Description

求圆(圆心坐标:(x,y) 半径:r)与直线(Ax+By+C=0)交点的个数。

Input

多实例测试,处理到文件尾结束(EOF),输入包括一行 x, y, r ,A ,B, C ,所有数据均为浮点数,且绝对值小于等于1000。

Output

输出一个数字代表直线与圆交点个数。

Sample Input

1
0 0 2 1 -1 0

Sample Output

1
2

问题分析

数学问题~
直线和圆交点的判断
就是写公式的时候注意一下
其它部分还好吧~

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
#include<math.h>
int main() {
	double x, y, r ,A ,B, C;
	double sum,gen;
	while(scanf("%lf %lf %lf %lf %lf %lf",&x,&y,&r,&A,&B,&C)!=EOF) {
		sum=A*x+B*y+C;
		gen=sqrt(A*A+B*B);
		if(sum<0)
			sum=-sum;
		if((sum/gen)<r)
			printf("2\n");
		else if((sum/gen)>r)
			printf("0\n");
		else
			printf("1\n");
	}
	return 0;
}

题目地址:【郑轻】[1768]Lovely Circular And Linear

该内容采用 CC BY-NC-SA 4.0许可协议。

如果对您有帮助或存在意见建议,欢迎在下方评论交流。

本页面浏览次数 加载中...
本页面访客数 加载中...

加载中...