SKY外语计算机学习

标题: Java水仙花数 [打印本页]

作者: 匿名    时间: 2013-1-5 19:44
标题: Java水仙花数
本帖最后由 sky_yx 于 2015-12-30 14:10 编辑

利用Java数组的方式解出:
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)


作者: Anthony    时间: 2013-3-16 23:44
本帖最后由 sky_yx 于 2015-12-30 14:10 编辑

import java.math.BigDecimal;
import java.util.Random;
/*
* 个人觉得 商业项目中数据较大,为了找到更多的水仙数
* 采用数据类型BigDecimal
* 随机生成100位内的自然数,并且通过字符串与数组之间的转化
* 循环判断
*
* 但有个问题就是,说不准计算机会等很长一段时间才有结果,想想啊100位是什么概念

*
*/
public class Mycode {
          private static int num=100;
          
               public static  BigDecimal cubic (BigDecimal n){
                       return  n.pow(3);
               }
                          
       
       
   public static void main(String[] args) {
                
       
                BigDecimal big=new BigDecimal(10);
                
                BigDecimal big2=new BigDecimal(1);
             
            Random random =new Random();
            
            int  n =random.nextInt(num)+1;
            
            BigDecimal newOne=big.pow(n);
            
            BigDecimal i=big.pow(n-1);
            
             {
                String str=i.toString();
                char[] ch=str.toCharArray();
                {
                BigDecimal sum =new BigDecimal(0);
                sum=sum.add(cubic(j));
                        System.out.println(sum.toString());
                }
                   
             }
            
   
}
}考验你的计算机时候到了  






欢迎光临 SKY外语计算机学习 (http://skywj.com/) Powered by Discuz! X2.5