zoukankan      html  css  js  c++  java
  • HDU 3903 Trigonometric Function(数学定理)

    Trigonometric Function

    Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 125536/65536 K (Java/Others)
    Total Submission(s): 693 Accepted Submission(s): 277

    Problem Description
    Give you a triangle ABC. Get more information in the picture below.

    Now, give you 6 integers a, b, c, n, m and k. a, b and c are triangle ABC`s three edges. Can you judge whether the result of the following fraction is rational number?

    Input
    There are several test cases in the input data.
    Each case is just one line with 6 integers – a, b, c, n, m, k (0< a, b, c, n, m, k < 10^4) separated by spaces. The input data ensures that sin(kC) will not be equal with 0.

    Output
    Each case output “YES”, if the result of the fraction is rational number, otherwise “NO”.

    Sample Input
    2
    1 1 1 1 1 1
    3 4 5 6 7 7

    Sample Output
    NO
    YES

    若n为有理数,那么cos(n)一定是有理数
    cos( k*n )一定是有理数
    sin(n)确不一定。
    所以只要判断分母是不是有理数就好了,sin(k*n)

    #include <iostream>
    #include <string.h>
    #include <stdlib.h>
    #include <algorithm>
    #include <math.h>
    #include <stdio.h>
    
    using namespace std;
    long long int a,b,c,n,m,k;
    int main()
    {
        int t;
        scanf("%d",&t);
        while(t--)
        {
            scanf("%lld%lld%lld%lld%lld%lld",&a,&b,&c,&n,&m,&k);
            long long int num=4*a*a*b*b-(a*a+b*b-c*c)*(a*a+b*b-c*c);
            long long int t=sqrt(1.0*num);
            if(t*t==num)
                printf("YES
    ");
            else
                printf("NO
    ");
        }
        return 0;
    }
    
  • 相关阅读:
    洛谷P3959 宝藏(模拟退火乱搞)
    POJA Star not a Tree?(模拟退火)
    HDU 2899Strange fuction(模拟退火)
    洛谷P2062 分队问题(dp)
    主定理与时间复杂度
    android工程混淆和反编译
    查看linux内存、cpu
    Android sqlite数据库存取图片信息
    深入浅出JSONP--解决ajax跨域问题
    分析WordPress主题结构是如何架构的?
  • 原文地址:https://www.cnblogs.com/dacc123/p/8228785.html
Copyright © 2011-2022 走看看