解题思路:
我们来模拟一遍很容易发现,一棵树如果想长得最高,就是看爱丽丝隔多长时间来修剪它
如图,以6为例,一定是往返的时间最长,而往返有两种方式,所以只需要比较两种往返谁大就好了。
其实如果是中间左边的(1 2 3 4),一定是往右往返最大,在中间右边的(5 6 7 8),一定是往左往返最大,但是这个中间数判断有些麻烦,要看总数是奇数还是偶数,又有整形变量精度缺失问题,索性就写个max就做比较了。
参考代码:
#include <stdio.h> #include <math.h> #define ll long long int max(int a,int b){ return a>b?a:b; } int main (){ int i,n; scanf("%d",&n); for(i=1;i<=n;i++){ printf("%d\n",max(i-1,n-i)*2); } return 0; }
0.0分
223 人评分
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:538 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:855 |
兰顿蚂蚁 (C++代码)浏览:1159 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:1215 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:821 |
C语言程序设计教程(第三版)课后习题6.5 (C++代码)浏览:487 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:672 |
用筛法求之N内的素数。 (C语言代码)浏览:685 |
1642题解浏览:784 |
核桃的数量 (C语言代码)浏览:726 |
指针原来是套娃的 2023-01-15 14:24:55 |
#define ll long long 可以把long long这八个字母简化成ll两个字母 下面代码里的ll就代表long long了
一只土狗 2023-03-01 14:01:24 |
但是我没看见代码中使用到这个宏代替啊