菜鸟笔记
提升您的技术认知

java 水仙花数-ag真人游戏

水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数,水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:13 53 33=153)

题目:编写java程序打印出所有的水仙花数

分析:水仙花数是一个三位数,对三位数n取余(n),可以得到这个数的个位上数字k,对这个数字进行除法操作(n/10),可以得到一个两位数,也就是三位数的前两位,继续对这个数取余,可以得到三位数的十位上的数,同理,进行循环操作可以得到百位上的数字,对三个数字进行3次幂的累加。

循环操作的具体代码如下:

  		while(n!=0){
  			k=n;
  			n=n/10;
  			s=s k*k*k;
  		}
  1. do-while循环遍历输入100~999的数
  2. while循环对三个数进行3次幂之和
  3. if语句判断这次循环中这个数各个位的3次幂之和是否等于这个数

完整代码如下:

public class demo{
  
	public static void main(string[] args){
  
		int k,n,s,i=100;
		do{
  
			s=0;
			n=i;
			while(n!=0){
  
				k=n;
				n=n/10;
				s=s k*k*k;
			}
			if(i==s)
				system.out.print(s "  ");
			i  ;
		}while(i<999);
		
	}
}

运行结果:

153 370 371 407

判断一个数是否为水仙花数

import java.util.*;
public class shuixianhuashu{
  
	public static void main(string[] args){
  
		int i,a,b,c;
		system.out.print("请输入一个三位数:");
		scanner read=new scanner(system.in);
		i=read.nextint();
		a=i;
		b=(i/10);
		c=i/100;
		if(a*a*a b*b*b c*c*c==i){
  
			system.out.print("yes!");
		}else{
  
			system.out.print("no!");
		}
	}
}

运行结果:

请输入一个三位数:153
yes!

网站地图