精华内容
下载资源
问答
  • Java水仙花数

    2020-11-08 23:47:55
    标题Problem B: 水仙花数 Time Limit: 1 Sec Memory Limit: 128 MB Description 判断一个数是否为"水仙花数",所谓"水仙花数"是指这样的一人数:其各位数字的立方和等于该数本身。例如:371是一个"水仙花数",371=...

    标题Problem B: 水仙花数

    Time Limit: 1 Sec Memory Limit: 128 MB

    Description

    判断一个数是否为"水仙花数",所谓"水仙花数"是指这样的一人数:其各位数字的立方和等于该数本身。例如:371是一个"水仙花数",371=33+73+1^3。

    Input

    一个三位数。

    Output

    1或者0(1代表此数为水仙花数,0代表此数不是水仙花数)。

    Sample Input Copy

    371

    Sample Output Copy

    1

    可能的Java代码:

    import java.util.*;
    
    public class Main {
    
        public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext())
        {
        int n=sc.nextInt();
        int a=n%10;
        int b=n/10%10;
        int c=n/100;
        //System.out.println(a);
        //System.out.println(b);
        //System.out.println(c);
        if(a*a*a+b*b*b+c*c*c==n)
            System.out.println("1");
        else
            System.out.println("0");
        }
    
    	}
    	
    }
    

    运行结果:

      	Problem: XXXX
        User: XXXXXXXXXXX
        Language: Java
        Result: Accepted
        Time:117 ms
        Memory:10240 kb
    

    END

    展开全文
  • java 水仙花数

    千次阅读 多人点赞 2019-07-10 20:25:42
    问题:求100到999之间的 n位 水仙花数水仙花数定义:水仙花数的每个位上的数字的 n 次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。 3位水仙花数 public class Narcissus { public static void main...

    问题:求100到999之间的 3位 水仙花数。/ n位水仙花数

    水仙花数定义:水仙花数的每个位上的数字的 n 次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。

    • 3位水仙花数

    方法一:(其中用的while循环)

    public class Narcissus {
    	public static void main(String[] args) {
    		int num = 100;
    		int a[] = new int[3];
    		System.out.print("3位的水仙花数有:\t");
    		while (num <= 999) {    //用的while循环
    			int sum = 0;
    			a[0] = num / 100;
    			a[1] = num / 10 % 10;
    			a[2] = num % 10;
    			for (int i = 0; i < 3; i++) {
    				sum += Math.pow(a[i], 3);
    				//相当于		sum = sum + (int) Math.pow(a[i], 3);
    			}
    			if (num == sum) {
    				System.out.print(num + "\t");
    			}
    			num++;
    		}
    	}
    }
    

    方法二:(通俗易解版)(其中用的for循环)

    public class Narcissus {
    	public static void main(String[] args) {
    			// 1.通过for循环获取[100, 999]之间所有的正整数
    		for (int i = 100; i < 1000; i++) { // i = 153   //用的for循环
    			// 2.获取i的个位数、十位数和百位数。
    			int bit1 = i % 10;
    			int bit2 = i % 100 / 10;
    			int bit3 = i / 100;
    			// 3.1*1*1 + 5*5*5+ 3*3*3 == 153
    			if (bit1 * bit1 * bit1 + bit2 * bit2 * bit2 + bit3 * bit3 * bit3 == i) {
    				System.out.println(i);
    			}
    		}
    	}
    }
    
    • n位水仙花数

    import java.util.Scanner;
    public class Narcissus {
        public static void main(String[] agrs) {
            System.out.print("指定最大位数N:");
            Scanner input = new Scanner(System.in);
            int N = input.nextInt();
            input.close();
            for (int i = 3; i <= N; i++) {
                int a[] = new int[i];
                int num = (int) Math.pow(10, i - 1) + 1;    
                System.out.print(i + "位的水仙花数有:\t");
                while (num <= Math.pow(10, i)) {    //num表示取值范围,  数字位数为i
                    int sum = 0;
                    for (int j = 0; j < i; j++)
                        a[j] = (int) (num / Math.pow(10, j) % 10);
                    for (int j = 0; j < i; j++) 
                        sum = sum + (int) Math.pow(a[j], i);
                    if (num == sum)
                        System.out.print(num + "\t");
                    num++;
                }
                System.out.print("\n");
            }
        }
    }
    
    展开全文
  • Java 水仙花数

    2021-01-23 16:21:36
    水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+3^3。 现在要求输出所有在m和n范围内的水仙花数。 输入描述 输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=...

    题目描述

    “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+3^3。
    现在要求输出所有在m和n范围内的水仙花数。

    输入描述

    输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。

    输出描述

    对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开;
    如果给定的范围内不存在水仙花数,则输出no;
    每个测试实例的输出占一行。

    输入样例

    100 120
    300 380
    

    输出样例

    no
    370 371
    

    程序代码

    import java.util.*;
    
    public class Main {
    
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            while (scanner.hasNextInt()) {
                int begin = scanner.nextInt();
                int end = scanner.nextInt();
                boolean flag = false;
                int[] array = new int[10];
                int count = 0;
    
                for (int i = begin; i <= end; i++) {
                    int x = i / 100;
                    int y = (i % 100) / 10;
                    int z = i % 10;
                    if (x * x * x + y * y * y + z * z * z == i) {
                        flag = true;
                        array[count] = i;
                        count++;
                    }
                }
    
                if (!flag) {
                    System.out.println("no");
                    continue;
                }
    
                for (int i = 0; i < count; i++) {
                    System.out.print(array[i]);
                    if (i != count - 1) {
                        System.out.print(" ");
                    } else {
                        System.out.println();
                    }
                }
    
            }
    
        }
    }
    
    展开全文
  • java水仙花数

    2020-12-21 20:11:53
    首先我们要知道什么样的数叫水仙花数水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。 首先得到各个位上的数 java中基本的算术运算符我们要知道.基本算术运算:+ - * / % ++i i— 在这我们...

    今日份图片
    请查收
    黑寡妇
    今天来给大家分享一个小知识–水仙花数

    首先我们要知道什么样的数叫水仙花数–水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。

    首先得到各个位上的数

    java中基本的算术运算符我们要知道.基本算术运算:+ - * / % ++i i—
    在这我们用到的是"/“和”%",这两个我们要分清,给大家举个小例子。

    		int a = 123;
            System.out.println(a/100);//结果1
            System.out.println(a%100);//结果23
    

    这两个搞清楚了,这个水仙花数也就解决了
    下面看代码

    for (int i = 100; i <= 999; i++) {
                int a = i/100;
                int b = i%100/10;
                int c = i%100%10;
                if ((a*a*a+b*b*b+Math.pow(c,3))==i){
                    System.out.println(i);
                }
            }
    

    运行结果
    水仙花数
    在这里插入图片描述

    展开全文
  • JAVA水仙花数

    2020-09-27 16:22:46
    输出三位数的所有的“水仙花数”,所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如153是“水仙花数”,因为:153 = 1^3+ 5^3 + 3^3; 则这个三位数为水仙花数,比如:153=111+555+333 */ ...
  • JAVA 水仙花数

    2017-08-12 15:03:40
    package Forxh; public class Test2 { public static void main(String[] args) {...打印水仙花数(玫瑰花数) for (int i = 100; i // 取个位 int g = i / 1 % 10; // 取十位 int s = i / 10 % 10; // 取百位 int b =

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,944
精华内容 777
关键字:

java水仙花数

java 订阅