某一天,Alice 比较无聊,于是她为自己发明了一个游戏玩。首先她在纸上画了一个圆,然 后从这个圆的圆弧上均匀地取出 n 个点,这 n 个点将圆 n 等分。接下来,Alice 每次从这 n 个点中选取两个点,在这两个点之间画一条线段,但是要求这条线段不能与已有的线段相交 (允许在端点处相交)。为了能打发更多的时间,Alice 希望能画尽量多的线段,请你告诉她 最多她能画出几条线段?
数据范围:
第一行包含一个整数𝑛,表示从圆弧上取出的点数。
输出对应的答案。
2
1
4
5
#include <stdio.h> #include <stdlib.h> int func(int x) { if(x<4) return 0; else if(x==4) return 1; else return x/2+func(x/2+x%2); } int main() { int n; while(scanf("%d",&n)!=EOF) { if(n<2) printf("0\n"); else if(n==2) printf("1\n"); else { printf("%d\n",n+func(n)); } } return 0; }