使用给定的操作将数组缩减为一个元素

2023年 8月 31日 69.3k 0

使用给定的操作将数组缩减为一个元素

给定一个整型变量 Number 作为输入。让我们考虑一个按排序顺序包含 1 到 Number 范围内的元素的数组。如果我们对数组执行操作,则每一步都会删除奇数位置的元素。那么目标就是执行这个操作N
直到只剩下一个元素为止的次数。在末尾打印该元素。

注意 -:元素的定位使得索引 0 处的数组位于第 1 个位置,依此类推。

元素数量的测试用例在数组中

输入数字=1,输出= 1

输入数字=2,输出= 2

输入数字=3,输出= 2

>

输入数量=4,输出=4

输入数量=5,输出=4

输入数量=6,输出=4

输入数量=7,输出= 4

......

输入数量=12,输出= 8

输入数量=20,输出= 16

根据上述观察,对于 2i  到 2i+1-1 之间的数字范围,输出将为 2i .

示例

输入 −Number=7

输出 − 单个归约操作后的元素为:4

解释− 第一个元素位于位置 1,依此类推。

数组将为 [ 1 2 3 4 5 6 7 ]

第一次操作后:[ 2 4 6 ]

第二次操作后:[ 4 ]

输入 − 数字=18

输出− 归约运算后的单个元素为:4

解释 − 第一个元素位于位置 1 且

数组将是 [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ]

第一次操作后: [ 2 4 6 8 10 12 14 16 18]

第 2 次操作后:[ 2 8 12 16 ]

第 3 次操作后:[ 8 16 ]

第 4 次操作后 [ 16 ]

下面程序中使用的方法如下

在这种方法中,我们将使用 while 循环根据上面的公式计算最终结果。以初始值为2,遍历直到2*结果

  • 取输入变量Number

  • 函数 getsingleElement(long num) 获取输入数字并根据上述公式打印结果。

  • 获取变量结果。

  • 用2初始化结果。

  • 使用while循环遍历,直到结果*2 li>

  • will 内的双倍结果。

  • 一旦 while 循环结束,我们就会得到所需的值。

  • 返回结果。

  • 在main中打印结果。

示例

#include
using namespace std;
long getsingleElement(long num){
long result;
result=2;
while(result*2

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论