ZKX's LAB

水仙花数求不出153 求助啊,被这个程序折腾死了。找水仙花数无法输出153这个数字,其他的都可以输出来。。这是为什么啊。

2021-04-04知识8

如何利用matlab求出10000之内所有的水仙花数(如153=1^3+5^3+3^3,这种数称为 水仙花数(Narcissistic number),也被称为超完全数字不变数(pluperfect digital invariant,PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),用来描述一个N位非负整数,其各位数字的N次方和等于该数本身。若将条件放宽,一个N位数,其各个数之M次方和等于该数,M和N不一定相等,这样的数称为完全数字不变量(perfect digital invariant,PDI),例如数字4150等于各位数字的5次方。水仙花数一定是完全数字不变量,但完全数字不变量不一定是水仙花数。在十进制意义下,所有的个位数字0~9都是水仙花数,但没有二位的水仙花数。用MATLAB求水仙花数可以用下面的简单程序:N=1:10000;n=floor(log10(max(N(:))))+1;isnarcissistic=(N)sum(mod(fix(N./10.^(n:-1:0)),10).^(floor(log10(max(N(:))))+1))=N;inx=arrayfun(isnarcissistic,N);N(inx)程序的核心是构造一个判断是否为水仙花数的匿名函数isnarcissistic,使用的时候只需要修改最前面的N,其它都不需要改动。输出结果:ans=Columns 1 through 51 2 3 4 5Columns 6 through 106 7 8 9 153Columns 11 through 15370 371 407 1634 8208Column 169474

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

大家有没有看到过水仙花数?就例如153,它=1的立方+5的立方+3的立方,我们把这样的数称为水仙花数,还有呢 水仙花数是指一个 n 位数(n≥3),它的每个位上的数字的 n 次幂之和等于它本身。C++:includeusing namespace std;int main(){int a,b,c,d;for(a=1;a;a+){for(b=0;b;b+){if((10*a+b)=a*a+b*b)cout;两位数for(c=0;c;c++){if((100*a+10*b+c)=a*a*a+b*b*b+c*c*c)cout;三位数for(d=0;d;d+){if((1000*a+100*b+10*c+d)=a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)cout;四位数}}}}return 0;}两位数中无水仙花数三位数中有153,370,371,407四位数中有1634,8208,9474

#水仙花数求不出153

随机阅读

qrcode
访问手机版