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

2023年 9月 7日 65.3k 0

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

数组范围查询是数据结构的一个新兴领域。在这个查询中,我们将随机元素设置到数组中,并给出了一般的查询问题,以高效地解决数据结构问题。阿姆斯特朗数是其各个位数立方和。例如- 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 not
bool 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

相关文章

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

发布评论