1 条题解
-
0
思路分析
1. 任务拆解:
- 读取银币个数n
- 读取n个银币的金额
- 对前一半银币进行翻倍操作
- 对后一半银币进行加1操作
- 输出处理后的所有银币金额
2. 关键点分析:
- 前一半:从第1个到第n/2个银币(整数除法)
- 后一半:从第n/2+1个到第n个银币
- 前一半翻倍(乘以2),后一半加1
- 使用两个独立的循环分别处理前一半和后一半
3. 步骤规划: 第一步:读取银币个数n 第二步:循环读取n个银币金额 第三步:遍历前n/2个银币,输出翻倍后的金额 第四步:遍历后一半银币(n/2+1到n),输出加1后的金额 第五步:输出时用空格分隔
4. 代码对应:
cin>>n:读取银币个数- 第一个
for循环:输入所有银币金额 - 第二个
for循环:处理前一半银币(i=1到n/2) a[i]*2:前一半银币翻倍- 第三个
for循环:处理后一半银币(i=n/2+1到n) a[i]+1:后一半银币加1- 输出时用空格分隔各金额
- 1
信息
- ID
- 645
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 2
- 标签
- (无)
- 递交数
- 432
- 已通过
- 257
- 上传者