ZKX's LAB

用java判断某个整数是否为水仙花数。 Java求任意位数的水仙花数字

2020-10-08知识22

java求水仙花数 按照你的要求编写的求N位水仙花数的程序如下import java.util.Scanner;public class CCC {public static void main(String[]args){System.out.print(\"请输入正整数N(3):\");Scanner sc=new Scanner(System.in);int N=sc.nextInt();if(N|N>;7){System.out.println(\"N或者 N>;7\");return;}int min=(int)Math.pow(10,N-1);int max=(int)Math.pow(10,N);for(int i=min;i;i+){int tmp=i;int j=0;int a[]=new int[N];while(tmp。0){a[j]=tmp%10;tmp=tmp/10;j+;}int sum=0;for(int k=0;k;k+){sum=sum+(int)Math.pow(a[k],N);}if(sum=i){System.out.println(i);}}}}运行结果请输入正整数N(3):4163482089474

用java判断某个整数是否为水仙花数。 Java求任意位数的水仙花数字

Java 编程找出所有的水仙花数(水仙花数)。 代码如下:packagecom.vo;public class Shuixianhua {public static void main(String[]args){int a=0;int b=0;int c=0;for(int i=100;i;i+){a=i/100;b=i/10%10;c=i%10;if(i=(a*a*a+b*b*b+c*c*c))System.out.println(i);}}}首先水仙花数”是指一个三位数,其各位数字立方和等于该数,如:153是一个“水仙花数”,因为1的三次方+5的三次方+3的三次方等于153解此题的关键是怎能样从一个三位数中分离百位数、十位数、个位数。可以这样做,设该三位数以i代表,由a,b,c三个数字组成。(1)百位数字a:a=int(i/100).(2)十位数字b:b=int((i-100*a)/10)(3)个位数字c:c=i-int(i/10)*10.然后在根据上述代码可得扩展资料:水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant,PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3+5^3+3^3=153)。参考资料:水仙花数

用java判断某个整数是否为水仙花数。 Java求任意位数的水仙花数字

java求水仙花数

用java判断某个整数是否为水仙花数。 Java求任意位数的水仙花数字

用java判断某个整数是否为水仙花数。 public static Boolean isNarcissisticNumber(int num){ if(num>;999)return false;int oldNum=num;int[]digits=new int[3];int i=0;w.

如何shell 求任意位数水仙花数 要 求任意位数的水仙花数,我装的是虚拟机,执行速度不咋样。下面提供个脚本,Narcissus.sh三种带参形式:1>;不带参数sh Narcissus.sh->;默认展示3位水仙花数2>;带一个参数sh Narcissus.sh 4->;展示4位水仙花数3>;带两个及以上参数sh Narcissus.sh 3 6->;展示3位到6位的水仙花数bin/shinput:1.$1:水仙花位数2.$1:水仙花位数下限/上限$2:水仙花位数上限/下限output:Narcissusone_digit(){digit=$1start=`awk-v digit=$digit 'BEGIN{print 10^(digit-1)}'`end=`awk-v digit=$digit 'BEGIN{print 10^digit}'`Narcissus=\"while[$start-le$end]doNarcissus_tmp=`echo|awk-v start=$start-v digit=$digit '{for(i=1;i;i+){a[i]=substr(start,i,1);sum+a[i]^digit}}END{if(sum=start){printf(\"%s\",start)}}'`Narcissus=${Narcissus}${Narcissus_tmp}start=`expr$start+1`doneecho\"$digit digit Narcissus are:if[\"-$Narcissus\"=\"-\"]thenecho\"N/Aelseecho$Narcissusfiecho\"}main(){echo\"Default:脚本不带参数时默认展示3位水仙花数if[$#-eq 0]thenecho\"Default:one_digit 3fi脚本带一个参数时if[$#-eq 1]thenone_digit$1fi脚本参数。

编程求“水仙花数”。所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身 算法:可枚举所有三2113位数,再分解各位数5261进行判断。C语言(三位数枚4102举法):includemain(){int i,s1,s2,s3;for(i=100;i;i+)/枚举所有的1653三位数{s1=i/100;把i的百位赋值给s1s2=i/10%10;把i的十位赋值给s2s3=i%10;把i的个位赋值给s3if(s1*s1*s1+s2*s2*s2+s3*s3*s3=i)/如果各位数字之和等于该数printf(\"%d\\n\",i);则输出该数}return 0;}

跪求!c语言我要求n位水仙花数,怎样实现取出任意位数n(n<10)的每一位数字并存入数组? int num;int n;num的位数int a[10];for(int i=0;i;i+){a[n-1-i]=num%10;num=num/10;}a[0].a[n-1]中存储的就是各位数字

#水仙花数#num

随机阅读

qrcode
访问手机版