• 同济OnlineJudge预赛题(一): Treenders


    Treenders

    Time Limit:1000MS  Memory Limit:10000K

     

    Description

     

           Treenders同学酷爱各种几何图形,最近他又迷上了各种正多边形,由于他听力差,唉,Simon的课上他又没听,于是在桌上画正多边形(要爱惜公物,Treenders听见没!!),划来划去实在是没什么意思,又不想听Simon在那“I have, you have, he has……”,于是他开始把画好的正多边形的任意两个顶点连接起来(这是个多么无聊而又浩瀚的工程啊!!)他忽然发现其中有很多条线是平行的,这是个惊奇的发现(我晕,这有什么好惊奇的……),于是他开始统计每种正多边形中有多少条连线是平行的,正一边形、正二边形、正三边形……他这么画着(无语……)他感觉这其中似乎隐藏着一个惊天大秘密,但由于小学上数学课也不怎么听的,数到后面就数不清楚了(这实在是不能怪别人啊……),于是没有办法,只能请求你来帮助他,希望你能够写一个程序帮助他求出给定正多边形中所有顶点对间连线有多少对平行线。

          

    Input

     

    第一行一个整数t(0 < t < 100),表示t组测试数据,接下来t行每行一个整数n 2 < n < 2001)

     

    Output

     

           一共一行,一个整数ans (ans代表正n边形中所有顶点对间连线有多少对平行线)

     

    Sample Input

     

    5

     

    Sample Output

     

    5

     

    Hint

     

           对于正五边形ABCDE,所有的平行线对一共有5对:AE^BD, AB^EC,BC^AD,CD^BE,DE^AC

     

    Author

     

           Birdsong

    ------------------------------------------

    /********************
    This is the source of
    Problem Treenders.
    Write by Birdsong.
    ********************/

    #include <stdio.h>
    long t, n, nn, total;
    int main()
    {
     scanf("%d", &t);
     while (t--)
     {
      scanf("%d", &n);
      if (n % 2)
       total = (n - 1) / 2 * (n - 3) / 2 * n / 2;
      else
       total = n / 2 * (n - 2) / 2* (n - 2) / 2;
      printf("%ld\n", total);
     }
     return 0;
    }

  • 相关阅读:
    oracle参数文件(1)
    提高HTML5 canvas性能的几种方法(转)
    基于TouchVG开发的Windows矢量图形编辑器
    使用rapidjson实现了TouchVG的序列化适配器类
    关于用例的几个问题分析
    重温《UML风格》
    API设计准则(转)
    UML初级培训录音内容
    暂定的UML培训大纲
    基于Android平台多个Icon的APk——实现多程序入口总结(转)
  • 原文地址:https://www.cnblogs.com/zhouyinhui/p/400499.html
Copyright © 2020-2023  润新知