穷举法
穷举法,也称枚举法。把出现的情况进行一一测试,判断是否满足条件。
例1:输出所有的水仙花数(如:13+53+33=153)
分析:一个百位数num等于它的每一位的立方和a*a*a+b*b*b+c*c*c=num。
一种方法可以求先出:个位数为:num%10=c;十位数为:num/10%10=b; 百位数为:num/100%10=a;
第二种方法:在1-9个数中取一个数给百位数给a,在0-9之间取一个数给b,在0-9之间取一个数给c.
然后计算:a*a*a+b*b*b+c*c*c=num。
方法一:
方法二:
知识拓展:
水仙花数只是自幂数的一种:
一位自幂数:独身数。
三数自幂数:水仙花数。 153;370;371;407;
四位自幂数:四叶玫瑰数。1634;8208;9474;
五位自幂数:五角星数。54748,92727,93084
六位自幂数:六合数。548834
七位自幂数:北斗七星数。1741725;4210818;9800817;9926315
八位自幂数:八仙数。24678085,24678051,88593477
九位自幂数:九九重阳数。146511208;472335975;534494836,912985153
十位自幂数:十全十美数。4679307774
自幂数:一个N位正整数(N>=3),它的每个位数上的数字的N次幂之和等于它本身。
自幂数的通用算法:(因为32机最大正整数为4294967296,只能计算9位数以内的,所以我们只分析9位数以内的自幂数)
赞 (0)