ZKX's LAB

求水仙花数的算法是查找 水仙花数(算法就行)代码随意

2020-07-27知识9

求大于100小于1000的水仙花数程序 高中数学算法,求指教 这么写也行 但是就是麻烦了,看看这样,looper=100dolooper=looper+1a=[looper/100](取整)b=[(looper-a*100)/10];c=looper-100*a-10*b;if a*a*a+b*b*b+c*c*c=looper thenprint\"n=;looperend ifloop untill looper>;=1000end其实道理是一样的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中求解水仙花数的算法思想是什么? 水仙花数是指一个 n 位数(n≥3),它的每个位上的数字的 n 次幂之和等于它本身。从上面的定义可以看出,只要将给出的数字各个位数的数字分解出来,然后把个数字的3次方相加与原数相比是否相等即可判断出是否为水仙花数,给你一段源码,是求100~1000内的水仙花数,有注释,希望对你有帮助:public class Wflower {public static void main(String[]args){int a=0,b=0,c=0;System.out.println(\"水仙花数是:\");for(int i=100;i;i+)/遍历所有3位数{a=i/100;获取3位数中百位的数b=i%100/10;获取3位数中十位的数c=i%100%10;获取3位数中个位的数a=a*a*a;计算第一位数的立方b=b*b*b;计算第二位数的立方c=c*c*c;计算第3位数的立方if((a+b+c)=i)/如果符合水仙花数System.out.print(\"\"+i);}}}怎样用递归算法求水仙花数? includeint聽sum(int聽x){聽int聽t=x%10;if(x)return聽x*x*x;else聽return聽sum(x/10)+t*t*t;}int聽main(){聽int聽i;for(i=100;i;i+)if(sum(i)=i锛塸rintf(\"%d\\n\",sum(i));。

#水仙花数

随机阅读

qrcode
访问手机版