标题:三角形内部坐标为整数值点的个数如何求
只看楼主
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
结帖率:93.33%
 问题点数:0 回复次数:0 
三角形内部坐标为整数值点的个数如何求
三角形为已知三角形,也就是三角形的三个顶点的坐标已固定,如何求在此三角形内部有多少个点的横纵坐标为整数?
编写代码如下:
程序代码:
#include<bits/stdc++.h>
using namespace std;
int gcd(int x,int y)
{    return y==0?x:gcd(y,x%y);}
int main()
{
    int x1,y1,x2,y2,x3,y3;
    while(scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3)!=EOF)
    {
        if(!x1&&!y1&&!x2&&!y2&&!x3&&!y3) break;
        double edgnod=1.0*gcd(abs(x1-x2),abs(y1-y2))+gcd(abs(x1-x3),abs(y1-y3))+gcd(abs(x2-x3),abs(y2-y3));
        double s=1.0*abs((x2-x1)*(y3-y1)-(y2-y1)*(x3-x1))/2;
        printf("%.0lf\n",s-edgnod/2+1);
    }
    return 0;

}

该代码运行不能让人感到满意,运行一直不结束,请问该如何改呢?
搜索更多相关主题的帖子: 坐标 内部 int abs 三角形 
2020-09-01 15:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-503027-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.107188 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved