zoukankan      html  css  js  c++  java
  • 数论公式与代码储备,

    最大公约数

    int gcd(int x,int y)

    {

      int t ;

    while(y > 0)

    {

    t = x % y;

    x = y ;

    y = t ;

    }

    return x;

    }

    求素数 math。h头文件

    int is_prime(int u)
    {   
        if(u==0||u==1) return false; //0 1不是素数
        if(u==2)return true;//2是素书
        if(u % 2 == 0) return false;//偶数都不是素数
        for(int i = 3;i <= sqrt(u); i+=2)
            if(u%i == 0)  return  false;//在3到根号u之间内整除的话
        return  true;  //都没发生就是素数
    }

    向量的叉乘定理

    南阳 题 68  判断三角形各点是否顺时针

    利用矢量叉积判断是逆时针还是顺时针。设矢量P = ( x1, y1 ),Q = ( x2, y2 ),则矢量叉积定义为由(0,0)、p1、p2和p1+p2 所组成的平行四边形的带符号的面积,即:P × Q = x1*y2 - x2*y1,其结果是一个标量。显然有性质 P × Q = - ( Q × P ) 和 P × ( - Q ) = - ( P × Q )。
    叉积的一个非常重要性质是可以通过它的符号判断两矢量相互之间的顺逆时针关系:

      若 P × Q > 0 , 则P在Q的顺时针方向。
      若 P × Q < 0 , 则P在Q的逆时针方向。
      若 P × Q = 0 , 则P与Q共线,但可能同向也可能反向。

    解释:
    a×b=(ay * bz - by * az, az * bx - ax * bz, ax * by - ay * bx) 又因为az bz都为0,所以a×b=(0,0, ax * by - ay * bx)
    根据右手系(叉乘满足右手系),若 P × Q > 0,ax * by - ay * bx>0,也就是大拇指指向朝上,所以P在Q的顺时针方向,一下同理。

    #include <stdio.h>
    int main()
    {
    int x1,x2,x3,y1,y2,y3;
    while(scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3),x1||x2||x3||y1||y2||y3)
    printf((x2-x1)*(y3-y1)-(y2-y1)*(x3-x1)>0?"0\n":"1\n");
    return 0;
    }

  • 相关阅读:
    常用问题处理
    modelsim仿真中遇到的问题
    modelsim编译altera的库
    verilog系统函数用法
    123
    MATLAB实现截位的问题
    加减与有符号和无符号库
    状态机中的RAM注意的问题--减少扇出的办法
    串口的时序
    L230 RF可靠性测试-RF指标
  • 原文地址:https://www.cnblogs.com/luyi14/p/4251118.html
Copyright © 2011-2022 走看看