查询数组范围内的最大阿姆斯特朗数,并进行更新

查询数组范围内的最大阿姆斯特朗数,并进行更新

数组范围查询是数据结构的一个新兴领域。在这个查询中,我们将随机元素设置到数组中,并给出了一般的查询问题,以高效地解决数据结构问题。阿姆斯特朗数是其各个位数立方和。例如- 0、1、153、370、371和407都是阿姆斯特朗数。

让我们举一个例子来理解阿姆斯特朗数

示例1 – 给定的数字是371,检查该数字是否为阿姆斯特朗数。

3*3*3 + 7*7*7 + 1* sup>1*1 = 371

因此,这是阿姆斯特朗数。

示例2 − 给定的数字是121,检查该数字是否为阿姆斯特朗数。

1*1*1 + 2*2*2 + 1* sup>1*1 = 9

因此,这不是一个阿姆斯特朗数。

在这篇文章中,我们将解决数组范围查询问题,以找到最大的阿姆斯特朗数,并进行更新。

语法

Vector variable_name;

登录后复制

这是在程序中声明向量的一种方式。

算法

我们将从名为 “bits/stdc++.h” 的头文件开始。

我们正在创建一个名为“isArmstrong”的函数定义,该函数以参数n作为输入,用于检查该数字是否为阿姆斯特朗数。

理解阿姆斯特朗数的操作有以下几点:

将值‘0’存储到‘sum’变量中,该变量稍后将用于对每个具有幂的数字进行相加。

然后将‘n’存储在变量‘temp’中。这个临时变量将在while循环中用于检查阿姆斯特朗数的条件。

接下来,我们将值‘0’存储在变量‘digits’中,该变量将在稍后找到每个数字的幂。

现在开始主函数,并初始化变量“arr[]”来设置给定的数组元素。

我们正在使用第一个for循环打印数组元素。

初始化名为“armstrong”的向量变量,该变量将满足if语句中的条件,通过使用预定义函数pushback()来找到阿姆斯特朗数的列表。

然后我们使用第二个for循环来迭代数组的长度索引,在这个循环下,if-else语句被用来根据是否为阿姆斯特朗数来找到数组元素的列表。

为了更新数组范围查询,我们正在初始化一个名为‘newNumber’的变量,用于存储将通过使用if-else语句来验证是否为阿姆斯特朗数的新数组元素。

接下来,将0存储到变量‘maxArmstrong’中,该变量用于跟踪数组元素中的最大阿姆斯特朗数。

继续使用第三个for循环,它迭代阿姆斯特朗元素的长度。在这个循环内部,使用if语句来找到最大的阿姆斯特朗数。

然后使用最后一个循环来迭代满足阿姆斯特朗数的以下数组元素,并打印所有阿姆斯特朗数。

最后,我们使用‘maxArmstrong’变量打印出最大的阿姆斯特朗数。

Example

的中文翻译为:

示例

在这个程序中,我们将找到具有更新的最大阿姆斯特朗数。

#include using namespace std;// Function to check if a number is an Armstrong number or notbool isArmstrong(int n) {   int sum = 0;   int temp = n;   int digits = 0;   while (temp > 0) {      digits++;      temp /= 10;   }   temp = n;   while (temp > 0) {      int digit = temp % 10;      sum += pow(digit, digits);      temp /= 10;   }   return sum == n;}int main() {   int arr[] = {0, 123, 1, 19, 12, 153, 370};   int a = sizeof(arr) / sizeof(arr[0]);   cout armstrongs;   // Check each element of the array if it's an Armstrong number or not   cout maxArmstrong) {         maxArmstrong = armstrongs[i];      }   }   cout 

输出

There are 3 array element whose setbits are in a multiple of KThe given array element:0 123 1 19 12 153 370 The element found to be Non-Armstrong number1231912The newly added number1278 : Non-Armstrong numberThe following array element satisfied for Armstrong Number: 0 1 153 370 The maximum Armstrong number in the array is: 370

登录后复制

结论

我们探索了数组范围查询的概念,以找到具有更新功能的最大阿姆斯特朗数。我们看到了如何将给定的数组元素过滤为阿姆斯特朗数和非阿姆斯特朗数的组合。在从现有数组元素中移除非阿姆斯特朗数之后,我们只需打印满足阿姆斯特朗类型的数组元素的结果,并找到其中的最大值。

以上就是查询数组范围内的最大阿姆斯特朗数,并进行更新的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2583291.html

(0)
上一篇 2025年3月6日 14:31:57
下一篇 2025年3月2日 17:06:41

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • C++程序在数组开头添加元素

    通过使用数组和数据结构,可以在多个内存位置上存储同质(相同)数据。使用数组的关键好处是我们可以使用索引参数从任何位置检索它们。这种数据结构变得线性,因为数据必须逐步插入和提取。我们只需要将该元素的索引或位置号放在方括号内,就可以从数组中检索…

    2025年3月6日
    200
  • 如何在C语言中将整个数组作为参数传递给函数?

    数组 数组是一组具有相同名称的相关项。以下是将数组作为参数传递给函数的两种方式: 将整个数组作为参数传递给函数将单个元素作为参数传递给函数 将整个数组作为参数传递给函数 要将整个数组作为参数传递,只需在函数调用中发送数组名称。 要接收一个数…

    2025年3月6日
    200
  • C++程序:将数组元素按降序排序

    在解决一些问题时,以适当的形式排列数据项是一项重要的任务。 efficient way. The element sorting problem is one of the most commonly discussed排列问题。在本文中,…

    2025年3月6日
    200
  • 根据给定条件,从数组中构建一个长度为K的二进制字符串

    在本教程中,我们需要构造一个长度为 K 的二进制字符串,如果使用数组元素可以实现等于 I 的子集和,则它的第 i 个索引处应包含“1”。我们将学习两种解决问题的方法。在第一种方法中,我们将使用动态规划方法来检查子集和等于索引“I”是否可能。…

    2025年3月6日
    200
  • 找到C++中修改后数组的最小值的最大可能值

    在这个问题中,我们给定一个大小为 n 的数组 arr[] 和一个数字 S。我们的任务是找到修改后的数组的最小值的最大可能值。 p> 这里是修改数组的规则, 修改前后数组元素之和应为S。 修改后的数组中不允许有负值。 如果修改后的数组,…

    2025年3月6日
    200
  • 为什么C/C++数组索引从零开始?

    由于数组索引从0开始,所以a[i]可以实现为*(a + i)。 如果数组索引从1开始,那么a[i]将实现为*(a+i-1),这在编译过程中会消耗更多时间,并且程序的性能也会受到影响。 因此,最好从0开始对数组进行索引。 给出一个简单的数组程…

    2025年3月6日
    200
  • C程序检查阿姆斯特朗数?

    如果一个数字的各位数字的立方和等于该数字本身,则称其为阿姆斯特朗数。这是一个数学概念,通常用于编程中构建程序员的基本逻辑。 Input:370Output:370 is an Armstrong Number 登录后复制 Explanati…

    2025年3月6日
    200
  • C++程序:在数组中找到最大的可整除子集

    本教程将讨论一个问题,其中给定一个不同的正整数数组。我们需要找到最大的子集,使得每对较大的元素除以较小的元素,例如 – Input: nums[ ] = { 1, 4, 2, 6, 7}Output: 1 2 4Explanat…

    2025年3月6日
    200
  • C++程序:对数组元素进行升序排序

    为了有效地解决一些问题,将数据项排列在正确的位置非常重要顺序。最流行的排列问题之一是元素排序问题。这本文将演示如何在 C++ 中按升序排列数组成员(根据值不断上升)。 要按特定顺序排列数字或非数字元素,有多种方法排序算法可用于该领域。只需两…

    2025年3月6日
    200
  • 按照给定的查询重新排列和更新数组元素

    在这个问题中,我们将对数组元素执行给定的查询。查询包含数组元素的循环左旋转、右旋转和更新。 解决问题的逻辑部分是数组旋转。向左旋转数组的简单方法是将每个元素替换为下一个元素,将最后一个元素替换为第一个元素。 我们可以使用deque数据结构来…

    2025年3月6日
    200

发表回复

登录后才能评论