千家信息网

Java PTA如何计算3到7位水仙花数

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍Java PTA如何计算3到7位水仙花数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!PTA计算3到7位 水仙花数import java.util.Scanne
千家信息网最后更新 2025年01月20日Java PTA如何计算3到7位水仙花数

这篇文章主要介绍Java PTA如何计算3到7位水仙花数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

PTA计算3到7位 水仙花数

import java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner in = new Scanner(System.in);        int n = in.nextInt();        int min = (int) Math.pow(10, n - 1);        int max = (int) Math.pow(10, n);        int[] pow = new int[10];        pow[1] = 1;        for (int i = 2; i < pow.length; i++) {            pow[i] = (int) Math.pow(i, n);        }        for (int i = min; i < max; i++) {            int sum = 0;            for (int j = 10; j < max; j *= 10) {                sum += pow[i / j % 10];            }            sum += pow[i % 10];            if (sum == i) {                System.out.println(i);            }        }    }}

水仙花数的Java实现

春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:"水仙花数"是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。

要求输出所有在m和n范围内的水仙花数

import java.util.ArrayList;import java.util.Scanner; public class Main {    public static void main(String[] args) {        Scanner input = new Scanner(System.in);        int start = input.nextInt();        int end = input.nextInt();// 系统输入两个整数        ArrayList out = flower(start, end);// 调用方法        if (out.isEmpty()) {// 判断是否为空,按格式输出no。            System.out.println("no");        } else {            for (int i = 0; i < out.size(); i++) {// 按格式输出                if (i != out.size() - 1) {// 最后一个不需要输出空格                    System.out.print(out.get(i) + " ");                } else {                    System.out.print(out.get(i));                }            }        }     }     public static ArrayList flower(int startNumber, int endNumebr) {         ArrayList flowerNumber = new ArrayList();        int j = 0;        for (int i = startNumber; i < endNumebr; i++) {            /*             * 若满足条件放入数组 条件是分别取出3个位的数的3次方相加==原数             */            if ((i == Math.pow(Math.floor(i / 100), 3) + Math.pow(Math.floor(i % 100 / 10), 3)                    + Math.pow(i % 100 % 10, 3)) && i >= startNumber && i <= endNumebr) {                 flowerNumber.add(i);             }        }        return flowerNumber;// 返回数组    } }

代码还能优化

比如可以用数组储存0-9的三次幂,需要用到多少次幂的时候就用多少次幂,用数组需要循环判断输出,用hashmap直接映射比较好,减少三次幂运算。

这里博主就直接使用math.pow()这个方法求幂了。

Math.pow(a,b)方法的使用是 a为底数,b为幂数。比如a的b次方。

以上是"Java PTA如何计算3到7位水仙花数"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

水仙 水仙花 输出 数组 方法 内容 格式 篇文章 迷人 两个 代码 代表 价值 位数 兴趣 季节 小伙 小伙伴 就是 底数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 物理安全_网络安全 海南整机销售软件开发 软件开发技术风险 希望之村能不能自己创建服务器 爬虫用到的网络技术 网络安全攻防平台 计算 梁溪区计算机网络技术推广 电脑保存文件不需要数据库 依法负有网络安全..... 微软软件开发面试题 辽宁运营软件开发方案 宝鸡凤县电信dns服务器地址 软件开发员工教育经费抵扣 党建引领网络安全管理 网络技术员招聘岗位职责 杭州展会多媒体软件开发 郑州应用软件开发哪家实惠 基因规模数据库 sql数据库会自动备份吗 软件开发自己带项目是什么意思 绝地求生在哪个服务器最肥 教育系统网络安全通知 宿州直播平台软件开发定制 希望之村能不能自己创建服务器 华为软件开发色弱可以入职吗 如何进入其他的ftp服务器 重庆新众禾互联网科技有限公司 湖州游戏软件开发管理 敏捷软件开发质量三点价值观 数据库应用机考0003
0