Java 求解自幂数(水仙花数)

什么是自幂数

如果在一个固定的进制中,一个 n 位自然数等于自身各个数位上数字的 n 次幂之和,则称此数为自幂数。

例如:在十进制中,153 是一个三位数,各个数位的3次幂之和为

1^3+5^3+3^3=153,所以 153 是十进制中的自幂数。

在n进制中,所有小于n的正整数都为自幂数,比如2进制中1是自幂数,3 进制中

1 和 2 都是自幂数,4 进制中 1,2 和 3 都是自幂数......

Java pow() 方法扩展


pow() 方法用于返回第一个参数的第二个参数次方。

语法

double pow(double base, double exponent)

参数

base -- 任何原生数据类型。

exponent -- 任何原生数据类型。

返回值

返回第一个参数的第二个参数次方。

实例:


public class Test{
    public static void main(String args[]){
        double x = 11.635;
        double y = 2.76;

        System.out.printf("e 的值为 %.4f%n", Math.E);
        System.out.printf("pow(%.3f, %.3f) 为 %.3f%n", x, y, Math.pow(x, y));
    }
}

输出结果为:


e 的值为 2.7183
pow(11.635, 2.760) 为 874.008

如何求自幂数

代码如下:


package com.exercise.demo3;

public class Test1 {
    public static void main(String[] args) {

        System.out.println("范围内的自幂数有:");
        //自幂数查找的范围
        for (int i = 0; i

如图:

Java 求解自幂数(水仙花数)

什么是水仙花数

“水仙花数”也被称为:超完全数字不变数、自恋数、自幂数、阿姆斯壮数 或 阿姆斯特朗数

水仙花数是指一个 3 位数,它的每个位上的数字的 3 次幂之和等于它本身。

例如:1^3 + 5^3+ 3^3 = 153。

水仙花数只是自幂数的一种,严格来说 3 位数的 3 次幂数才称为水仙花数。

如何求水仙花数

代码如下:


package com.exercise.demo01;

public class Test03 {
    public static void main(String[] args) {

        int count = 0;
        System.out.print("水仙花数有:");
        //遍历指定范围内所有的数值
        for (int i = 100; i < 1000; i++) {
            //算出个位
            int a = i % 10;
            //算出十位
            int b = i / 10 % 10;
            //算出百位
            int c = i / 100;
            //判断每个位上的立方和是否等于i
            if ((a * a * a + b * b * b + c * c * c) == i) {
                //输出水仙花数
                System.out.print(i + " ");
                //计算个数加1
                count++;
            }
        }
        System.out.println();
        System.out.println("--------------------------");
        System.out.println("水仙花数的个数为:" + count);
    }
}

&#x5982;&#x56FE;&#xFF1A;

Java 求解自幂数(水仙花数)

附:常见水仙花数

独身数共有9个: 1,2,3,4,5,6,7,8,9;

水仙花数共有4个:153,370,371,407;

四叶玫瑰数共有3个:1634,8208,9474;

五角星数共有3个:54748,92727,93084;

六合数只有1个:548834;

北斗七星数共有4个:1741725,4210818,9800817,9926315;

八仙数共有3个:24678050,24678051,88593477

……

Original: https://www.cnblogs.com/wren/p/16710684.html
Author: 请叫我阿杰
Title: Java 求解自幂数(水仙花数)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/573992/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 2020年12月-第01阶段-前端基础-HTML CSS 项目阶段(二)

    品优购项目(二) 1. 品优购首页布局 命名集合:名称 说明 快捷导航栏 shortcut 头部 header 标志 logo 购物车 shopcar 搜索 search 热点词 …

    Linux 2023年6月8日
    0104
  • 数据结构 二叉树

    cpp;gutter:true;</p> <h1>include</h1> <p>using namespace std;</…

    Linux 2023年6月13日
    086
  • 文件批量改名(有规律)

    1.如你的文件放在桌面名字为file的文件内,我要把这些文件批量名称改为page1.jpg,page2.jpg,page3.jpg………. 2….

    Linux 2023年6月13日
    094
  • 手把手搭建一个属于自己的在线 IDE

    背景 这几个月在公司内做一个跨前端项目之间共享组件/区块的工程,主要思路就是在 Bit 的基础上进行开发。Bit 主要目的是实现不同项目 共享 与 同步 组件/区块,大致思路如下:…

    Linux 2023年6月14日
    0118
  • 循环通过逗号分隔的shell变量

    假设我有一个Unix shell变量,如下所示 variable=abc,def,ghij 我想使用for循环提取所有值(abc,def和ghij),并将每个值传递给一个过程。 脚…

    Linux 2023年5月28日
    091
  • MongoDB中创建root的角色失败:Error couldn’t add user No role named root@test

    问题描述 使用Django操作MongoDB,在创建用户的时候,使用下面操作: > db.createUser({user: ‘abc’, pwd: ‘abc’, roles…

    Linux 2023年6月8日
    0110
  • 前端奇奇怪怪的CSS样式

    使用inline-block相当于将元素介于块级元素与行内元素之间,将换行符转换成了空格,因此各个元素之间会有空隙 各个元素没有间隙,且元素自身大小不会改变,若一行容不下,则会换行…

    Linux 2023年6月13日
    095
  • lvs负载均衡

    Lvs 一.Lvs简介 二. 体系结构 三. Lvs管理工具 1. ipvs 2. ipvsadm 四.lvs工作模式及原理 1.NAT模式 2. DR模式 3.TUN模式(隧道模…

    Linux 2023年6月7日
    0136
  • DSTAT, Versatile resource statistics tool, 多功能资源统计工具;

    之前用到的一个IO监控工具,今天要使用,却忘记了名字,记录一下: dstat命令是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具…

    Linux 2023年6月13日
    093
  • HTS恢复检查脚本

    #!/bin/bash #program:HTS-A数据库和插件检查 #author:sundz #version 20220531 v1 创建脚本 生成sql的表和字段汇总;ab…

    Linux 2023年6月7日
    0108
  • linux自动备份mysql数据库

    备份脚本记录一下–(单个数据库) 2021-11-15 1.新建shell脚本:vim **.sh #!/bin/bashCKUP=/data/backup/db #获…

    Linux 2023年5月27日
    0133
  • Golang 实现 Redis(9): 使用GeoHash 搜索附近的人

    本文是使用 golang 实现 redis 系列的第九篇,主要介绍如何使用 GeoHash 实现搜索附近的人。 搜索附近的POI是一个非常常见的功能,它的技术难点在于地理位置是二维…

    Linux 2023年5月28日
    0121
  • [ Linux ] column 简明用法

    options -c 指定每一行输出的宽度。 -t 判断列来输出,对齐所有列。 主要用到的就是这个选项。 -s 指定分隔符,默认为空白符。 -o 指定用于对齐列填充的符号,默认为空…

    Linux 2023年6月7日
    0111
  • qsort的cmp函数理解

    近期频繁使用qsort函数,但是对于cmp函数却一直不太熟悉,现用现查。故写一篇小笔记记录一下。 函数原型: void qsort(void *base,size_t NumEle…

    Linux 2023年6月8日
    081
  • 数据库事务的四大特性(ACID)

    什么是数据库事务? 事务,就是一系列操作的整体,其结果就是这一系列操作要么全部成功,要么全部失败。 譬如说,一个经典的例子–转账。A要转帐给B 100块钱,要经历以下步…

    Linux 2023年6月6日
    0101
  • rpm简单使用

    rpm描述:利用源码包编译成rpm时,会去指定安装好这个包的位置本质:解压,然后拷贝到相关的目录,然后执行脚本 查询所有已经安装过的包 查看安装位置 解压rpm 查看脚本 查看配置…

    Linux 2023年6月7日
    079
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球