A70366 | 马里奥的银币1
来源编程题
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
马里奥有很多银币,有一天他得到了一张魔法卡,只要使用这张魔法卡,就可以使得他的银币里面的最大的银币金额变得更大。如果他最大的银币是偶数的金额,可以直接翻倍;如果他最大的银币是奇数的金额,可以使得银币金额加 1 。
比如:假设马里奥存有的银币金额分别为 5 7 8 1 4 ,那么最大的银币面值为 8 ,只要使用魔法卡,银币的金额就会变为5 7 16 1 4 ;
再比如:假设马里奥存有的银币金额分别为 5 7 9 1 4 ,那么最大的银币面值为 9 ,只要使用魔法卡,银币的金额就会变为 5 7 10 1 4 ;
已知马里奥众多的银币中,面额最大的银币只有 1 个,请你求出,马里奥使用魔法卡之后,他的银币金额分别是多少?
输入格式
第一行是一个整数 n 代表马里奥有 n 个银币。(n \le 1000)
第二行有 n 个整数,用空格隔开,代表马里奥每个银币的金额。
输出格式
一行有 n 个整数,代表使用过魔法卡之后,马里奥的银币的金额,分别是多少?
输入输出样例
输入 #1
5 5 7 8 1 4
输出 #1
5 7 16 1 4
输入 #2
10 1 8 9 10 7 39 2 21 23 22
输出 #2
1 8 9 10 7 40 2 21 23 22
思路
遍历数组,比较每个元素与目标,记录位置或是否存在。
步骤
1. 读入数组与目标。
2. 扫描比较。
3. 输出位置或查找结果。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?