zoukankan      html  css  js  c++  java
  • HUST_ACdream区域赛指导赛之手速赛系列(1)(2)D——数学——Triangles

    Description

    已知一个圆的圆周被  个点分成了 N 段等长圆弧,求任意取三个点,组成锐角三角形的个数。

    Input

    多组数据。

    每组数据一个N (N ≤  1000000)。

    Output

    对于每组数据,输出不同锐角三角形的个数。

    Sample Input

    3
    4
    5

    Sample Output

    1
    0
    5
    大意:数学推导,分成奇数点偶数点讨论
    偶数时:


    只要两个相减就是答案
    奇数时同理:

    还有1ll*涨姿势用来变成long long 形式
    #include<cstdio>
    #include<cstring>
    int main()
    {
        long long n;
        while(~scanf("%lld",&n)){
            if(n % 2 == 1){
                long long temp1 = 1ll*n*(n-1)*(n-2)/6;
                long long temp2 = 1ll*n*(n-1)*(n-3)/8;
                printf("%lld
    ",1ll*(temp1 - temp2));
            }
            else {
                long long temp1 = 1ll*n*(n-1)*(n-2)/6;
                long long temp2 = 1ll*n*n*(n-2)/8;
                printf("%lld
    ",1ll*(temp1 - temp2));
            }
        }
       return 0;
    } 
    View Code
    
    
    

    
    
     
  • 相关阅读:
    用户数据报协议---UDP
    斐波那契数列
    从尾到头打印链表
    Mybatis三种查询方式
    Mybatis配置
    字典的用法
    遍历列表、切片、定义元组
    与列表相关知识
    python一些方法总结
    计算机的容量
  • 原文地址:https://www.cnblogs.com/zero-begin/p/4434384.html
Copyright © 2011-2022 走看看