0

0

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

王林

王林

发布时间:2023-09-06 22:21:11

|

1251人浏览过

|

来源于tutorialspoint

转载

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

数组范围查询是数据结构的一个新兴领域。在这个查询中,我们将随机元素设置到数组中,并给出了一般的查询问题,以高效地解决数据结构问题。阿姆斯特朗数是其各个位数立方和。例如- 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’变量中,该变量稍后将用于对每个具有幂的数字进行相加。

      SuperDesign
      SuperDesign

      开源的UI设计AI智能体

      下载
    • 然后将‘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<<"The given array element:";
   for(int m = 0; m < a; m++) {
      cout< armstrongs;
   // Check each element of the array if it's an Armstrong number or not

   cout<<"\nThe element found to be Non-Armstrong number\n";
   for (int i = 0; i < a; i++) {
      if (isArmstrong(arr[i])) {
         armstrongs.push_back(arr[i]);
      } else {
         cout << arr[i] << endl;
      }
   }
   // Add a new number to the array and check if it's an Armstrong number or not
   int newNumber = 1278;
   cout<<"The newly added number\t"< maxArmstrong) {
         maxArmstrong = armstrongs[i];
      }
   }
   cout << "The following array element satisfied for Armstrong Number: ";
   for (int i = 0; i < armstrongs.size(); i++) {
      cout << armstrongs[i] << " ";
   }
   cout << endl;
   cout << "The maximum Armstrong number in the array is: " << maxArmstrong << endl;
   return 0;
}

输出

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 number
123
19
12
The newly added number	1278 : Non-Armstrong number
The following array element satisfied for Armstrong Number: 0 1 153 370 
The maximum Armstrong number in the array is: 370

结论

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

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

8

2026.01.26

edge浏览器怎样设置主页 edge浏览器自定义设置教程
edge浏览器怎样设置主页 edge浏览器自定义设置教程

在Edge浏览器中设置主页,请依次点击右上角“...”图标 > 设置 > 开始、主页和新建标签页。在“Microsoft Edge 启动时”选择“打开以下页面”,点击“添加新页面”并输入网址。若要使用主页按钮,需在“外观”设置中开启“显示主页按钮”并设定网址。

6

2026.01.26

苹果官方查询网站 苹果手机正品激活查询入口
苹果官方查询网站 苹果手机正品激活查询入口

苹果官方查询网站主要通过 checkcoverage.apple.com/cn/zh/ 进行,可用于查询序列号(SN)对应的保修状态、激活日期及技术支持服务。此外,查找丢失设备请使用 iCloud.com/find,购买信息与物流可访问 Apple (中国大陆) 订单状态页面。

16

2026.01.26

npd人格什么意思 npd人格有什么特征
npd人格什么意思 npd人格有什么特征

NPD(Narcissistic Personality Disorder)即自恋型人格障碍,是一种心理健康问题,特点是极度夸大自我重要性、需要过度赞美与关注,同时极度缺乏共情能力,背后常掩藏着低自尊和不安全感,影响人际关系、工作和生活,通常在青少年时期开始显现,需由专业人士诊断。

3

2026.01.26

windows安全中心怎么关闭 windows安全中心怎么执行操作
windows安全中心怎么关闭 windows安全中心怎么执行操作

关闭Windows安全中心(Windows Defender)可通过系统设置暂时关闭,或使用组策略/注册表永久关闭。最简单的方法是:进入设置 > 隐私和安全性 > Windows安全中心 > 病毒和威胁防护 > 管理设置,将实时保护等选项关闭。

5

2026.01.26

2026年春运抢票攻略大全 春运抢票攻略教你三招手【技巧】
2026年春运抢票攻略大全 春运抢票攻略教你三招手【技巧】

铁路12306提供起售时间查询、起售提醒、购票预填、候补购票及误购限时免费退票五项服务,并强调官方渠道唯一性与信息安全。

23

2026.01.26

个人所得税税率表2026 个人所得税率最新税率表
个人所得税税率表2026 个人所得税率最新税率表

以工资薪金所得为例,应纳税额 = 应纳税所得额 × 税率 - 速算扣除数。应纳税所得额 = 月度收入 - 5000 元 - 专项扣除 - 专项附加扣除 - 依法确定的其他扣除。假设某员工月工资 10000 元,专项扣除 1000 元,专项附加扣除 2000 元,当月应纳税所得额为 10000 - 5000 - 1000 - 2000 = 2000 元,对应税率为 3%,速算扣除数为 0,则当月应纳税额为 2000×3% = 60 元。

9

2026.01.26

oppo云服务官网登录入口 oppo云服务登录手机版
oppo云服务官网登录入口 oppo云服务登录手机版

oppo云服务https://cloud.oppo.com/可以在云端安全存储您的照片、视频、联系人、便签等重要数据。当您的手机数据意外丢失或者需要更换手机时,可以随时将这些存储在云端的数据快速恢复到手机中。

16

2026.01.26

抖币充值官方网站 抖币性价比充值链接地址
抖币充值官方网站 抖币性价比充值链接地址

网页端充值步骤:打开浏览器,输入https://www.douyin.com,登录账号;点击右上角头像,选择“钱包”;进入“充值中心”,操作和APP端一致。注意:切勿通过第三方链接、二维码充值,谨防受骗

6

2026.01.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 21.8万人学习

CSS3 教程
CSS3 教程

共18课时 | 4.9万人学习

Django 教程
Django 教程

共28课时 | 3.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号