令人惊讶的是,只有三个数可以写成它们各位数字的四次幂之和:
由于1 =14(1的4次方,显示有些问题)不是一个和,所以这里并没有把它包括进去。
这些数的和是1634 + 8208 + 9474 = 19316。
找出所有可以写成它们各位数字的五次幂之和的数,并求这些数的和。
请关注微信公众号“数据结构和算法”,答案下期公布
上期的问题是:26,不同的幂
答案:9183
System.out.println(distinctPowers());
分析:
如果直接计算,结果太大,所以这里采用分解质因数的方式,如果分解的质因数一样,那么这两个数肯定一样。然后把分解的质因数存储到map的key中,因为HashMap的key是不能重复的,最后在返回map的大小。
关注,评论,转发