解题思路:
模拟找规律
n=1时;
初始化 0
早上到傍晚 1
傍晚 0
MAX 1
n=2时;
初始化 0 0
第一天早上到傍晚 1 1
第一天傍晚 0 1
第二天早上到傍晚 1 2
第二天傍晚 1 0
第三天早上到傍晚 2 1
第三天傍晚 0 1
MAX 2 2
n=3时;
初始化 0 0 0
第一天早上到傍晚 1 1 1
第一天傍晚 0 1 1
第二天早上到傍晚 1 2 2
第二天傍晚 1 0 2
第三天早上到傍晚 2 1 3
第三天傍晚 2 1 0
第四天早上到傍晚 3 2 1
第四天傍晚 3 0 1
第五天早上到傍晚 4 1 2
第五天傍晚 0 1 2
第六天早上到傍晚 1 2 3
第六天傍晚 1 0 3
第七天早上到傍晚 2 1 4
第七天傍晚 2 1 0
MAX 4 2 4
n=4时;
初始化 0 0 0 0
第一天早上到傍晚 1 1 1 1
第一天傍晚 0 1 1 1
第二天早上到傍晚 1 2 2 2
第二天傍晚 1 0 2 2
第三天早上到傍晚 2 1 3 3
第三天傍晚 2 1 0 3
第四天早上到傍晚 3 2 1 4
第四天傍晚 3 2 1 0
第五天早上到傍晚 4 3 2 1
第五天傍晚 4 3 0 1
第六天早上到傍晚 5 4 1 2
第六天傍晚 5 0 1 2
第七天早上到傍晚 6 1 2 3
第七天傍晚 0 1 2 3
第八天早上到傍晚 1 2 3 4
第八天傍晚 1 0 3 4
第九天早上到傍晚 2 1 4 5
第九天傍晚 2 1 0 5
第十天早上到傍晚 3 2 1 6
第十天傍晚 3 2 1 0
MAX 6 4 4 6
n=5,
MAX 8 6 4 6 8
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int n;
int a[10005];
scanf("%d",&n);
if(n%2==0)//n为偶数的时候
{
for(int i=1;i<=n/2;i++)
{
a[i]=2*(n-i);
printf("%d\n",a[i]);
}
for(int j=n/2+1;j<=n;j++)
{
a[j]=a[n+1-j];
printf("%d\n",a[j]);
}
}
if(n%2!=0)//n为奇数的时候
{
for(int i=1;i<=n/2;i++)
{
a[i]=2*(n-i);
printf("%d\n",a[i]);
}
printf("%d\n",n-1);
for(int j=n/2+2;j<=n;j++)
{
a[j]=a[n+1-j];
printf("%d\n",a[j]);
}
}
return 0;
}0.0分
15 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复