【Android面试八股文】荣耀面试算法题:输出所有的水仙花数

文章目录

  • 一、水仙花数的定义
  • 二、算法实现

一、水仙花数的定义

要输出所有的水仙花数,我们需要先了解什么是水仙花数。

水仙花数(Narcissistic number),也称为自恋数、自幂数、阿姆斯特朗数,是指一个 n 位的正整数,其各个位上的数字的 n 次方之和等于它本身。

例如,三位数的水仙花数有 153、370、371 和 407,因为:

  • 153 = 1^3 + 5^3 + 3^3
  • 370 = 3^3 + 7^3 + 0^3
  • 371 = 3^3 + 7^3 + 1^3
  • 407 = 4^3 + 0^3 + 7^3

二、算法实现

package com.newcoder;/*** 水仙花数查找程序。* 定义:水仙花数是指一个三位数,其各个位上的数字的立方和等于该数本身。*/
public class NarcissisticNumberFinder {/*** 主方法,程序入口,查找并打印所有三位数的水仙花数。* @param args 命令行参数*/public static void main(String[] args) {System.out.println("所有的三位数的水仙花数如下:");// 遍历所有三位数for(int number = 100; number <= 999; number++) {if(isNarcissisticNumber(number)) {// 输出水仙花数System.out.println(number);}}}/*** 判断给定的数字是否是水仙花数。* 水仙花数定义为一个三位数,每一位数字的立方和等于该数本身。* @param number 要判断的数字* @return 如果是水仙花数则返回true,否则返回false*/private static boolean isNarcissisticNumber(int number) {int originalNumber = number;  // 保存原始数字int sumOfCubes = 0;  // 数字各位数字立方和// 计算各位数字的立方和while (number > 0) {int digit = number % 10;  // 取出最低位的数字sumOfCubes += digit * digit * digit;  // 计算立方并累加number /= 10;  // 去掉最低位}// 如果立方和等于原始数字,则是水仙花数return sumOfCubes == originalNumber;}
}
  • 运行结果

    运行上述代码后,会输出所有三位数的水仙花数:

    所有的三位数的水仙花数如下:
    153
    370
    371
    407
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/50603.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NAS、SAN 与 DAS 的比较与应用场景

文章目录 1. NAS&#xff08;网络附加存储&#xff09;定义特点实现成本&#xff1a;适用场景 2. SAN&#xff08;存储区域网络&#xff09;定义特点实现成本&#xff1a;适用场景 3. DAS&#xff08;直接附加存储&#xff09;定义特点实现成本&#xff1a;适用场景 区别总结结…

Redis学习[1] ——基本概念和数据类型

Redis学习[1] ——基本概念和数据类型 一、Redis基础概念 1.1 Redis是什么&#xff0c;有什么特点&#xff1f; Redis是一个基于**内存的数据库&#xff0c;因此读写速度非常快**&#xff0c;常用作缓存、消息队列、分布式锁和键值存储数据库。支持多种数据结构&#xff1a;…

Java 内推 | 教育行业缺口来了,研发,运维,产品,教研,职能,营销... 别错过

Java 内推 | 教育行业缺口来了&#xff0c;研发&#xff0c;运维&#xff0c;产品&#xff0c;教研,职能&#xff0c;营销… 别错过 岗位职责&#xff1a; 1、根据公司战略及业务规划&#xff0c;参与部门业务架构分析与设计&#xff0c;包含规划立足当前、面向未来的应用架构…

源码编译安装,及nginx服务控制、监控块

1.源码编译安装&#xff1a; [root17dns ~]# wget https://nginx.org/download/nginx-1.27.0.tar.gz 2.解压&#xff1a; [root17dns ~]# tar -zxvf nginx-1.27.0.tar.gz 3.安装gcc等工具 [root17dns ~]# yum -y install gcc gcc-c [root17dns ~]# yum -y install make lrzsz …

postman给全部接口添加请求头数据(如token)

如果给没有一个接口添加请求头token就太慢了&#xff0c;如下图。可以点击所有接口的所属的目录。点击“Scripts”&#xff0c;点击Pre-request按钮。加入代码&#xff1a; pm.request.addHeader("Authorization:eyJhbGciOiJIUzI1NiIsInR5cCI111pXVCJ9.eyJjbGFpbXMiOnsiaW…

小红书笔记评论采集全攻略:三种高效方法教你批量导出

摘要&#xff1a; 本文将深入探讨如何利用Python高效采集小红书平台上的笔记评论&#xff0c;通过三种实战策略&#xff0c;手把手教你实现批量数据导出。无论是市场分析、竞品监测还是用户反馈收集&#xff0c;这些技巧都将为你解锁新效率。 一、引言&#xff1a;小红书数据…

项目实战_表白墙(简易版)

你能学到什么 一个比较简单的项目&#xff1a;表白墙&#xff08;简易版&#xff09;&#xff0c;浏览器&#xff1a;谷歌升级版将在下个博客发布 效果如下 正文 说明 我们是从0开始一步一步做这个项目的&#xff0c;里面的各种问题&#xff0c;我也会以第一人称视角来解…

flask mysql数据迁移

flask 数据迁移 在Flask中使用数据库迁移&#xff0c;通常我们会结合SQLAlchemy和Alembic来管理数据库的迁移。以下是一个基本的数据迁移流程&#xff1a; 安装Flask-Migrate&#xff1a; pip install Flask-Migrate 配置Flask应用和数据库&#xff1a; from flask import Fla…

yolov10在地平线旭日X3派上的部署和测试(Python版本和C++版本)

0、搭建开发环境 当前的测试根据一下的步骤并修改源码是可以实现yolov8的板端运行&#xff0c;如果不想再搭建环境和测试代码bug上浪费更多的时间可以直接获取本人的测试虚拟机&#xff0c;所有的测试代码、虚拟环境和板端测试工程以全部打包到了虚拟机&#xff0c;需要的可以…

[C++] 小游戏 能量 1.0.3 版本 zty出品

大家好&#xff0c;今天zty带来的是能量的1.0.3版本&#xff0c;此版本可以存档&#xff08;自动的&#xff09;&#xff0c;用于保存战绩&#xff0c;在运行时会跳出主菜单&#xff0c;而不是直接开始游戏&#xff0c;辅助游戏的函数大小总和已经超过了游戏主体&#xff0c;zt…

01-IaC CloudFormation的必要性和使用方法

前言 将应用的需求、开发、测试、部署和运营统一起来,基于整个组织的协作和应用架构的优化,实现敏捷开发、持续交付和应用运营的无缝 集成。帮助企业提升IT效能,在保证稳定的同时,快速交付高质量的软件及服务,灵活应对快速变化的业务需求和市场环境。 1 持续交付 持续交…

Pandas教程:详解如何使用Pandas操作数据库

目录 1. 环境准备 2. 建立与数据库的连接 连接参数详解&#xff1a; 3. 从数据库读取数据 使用参数化查询 4. 将数据写入数据库 if_exists 参数详解&#xff1a; 5. 更新和删除数据 更新数据 删除数据 6. 实战案例 6.1 创建数据库和表 6.2 插入示例数据 6.3 更新…

OpenBayes 教程上新 | 文生图、图生图、图像修复三合一神器, HiDiffusion 一键启动教程现已上线!

扩散模型已成为高分辨率图像合成的主流方法&#xff0c;传统的扩散模型虽然在图像合成方面取得了显著进展&#xff0c;但在扩展到更高分辨率时往往面临对象重复和计算成本增加的问题。 旷世科技开源的高分辨率框架 HiDiffusion&#xff0c;由分辨率感知 U-Net (RAU-Net) 和改进…

Nacos 相关面试问题及答案

Nacos 是什么&#xff1f; Nacos (Naming and Configuration Service) 是一个开源项目&#xff0c;是由 Alibaba 开发的&#xff0c;它致力于提供动态服务发现、服务健康监测、动态配置服务以及服务管理的平台&#xff0c;它被设计用于帮助构建云原生应用&#xff0c;是微服务…

求最大公约数与最小公倍数(C语言 简洁快速版)

求最大公约数 辗转相除法&#xff08;首选&#xff0c;因为简单快捷&#xff09; 思路&#xff1a; 1.将两整数求余 a%b c 2.如果c 0;则b为最大公约数 3.如果c ! 0,则 a b&#xff1b;b c&#xff1b;继续从1开始执行 4.也就是说该循环的是否继续的判断条件就是c是否为0 …

3.4、图

图的介绍 图也是一种非线性结构&#xff0c;图中任意两个节点间都可能有直接关系。相关定义如下&#xff1a; 无向图&#xff1a;图的结点之间连接线是没有箭头的&#xff0c;不分方向。 有向图&#xff1a;图的结点之间连接线是箭头&#xff0c;区分A到B,和B到A是两条线。 …

Codeforces 962 div3 A-F

A 题目分析 签到 C代码 #include<iostream> using namespace std; int main(){int t;cin>>t;while(t--){int n;cin>>n;cout<<n/4n%4/2<<endl;} } B 题目分析 将n*n的方格分成若干个k*k的方格&#xff0c;每个k*k的方格中所有的数都相同 遍历…

开始写人工智能

文章目录 概述 概述 开始写人工智能模块。既然决定开始写这些&#xff0c;那就开始吧&#xff01;