设为首页收藏本站

SKY外语、计算机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3844|回复: 1
打印 上一主题 下一主题

[java基础] Java水仙花数

[复制链接]
跳转到指定楼层
楼主
匿名  发表于 2013-1-5 19:44:14 |正序浏览 | 接收回复通知
本帖最后由 sky_yx 于 2015-12-30 14:10 编辑

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

分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享淘帖0 收藏收藏0

0

主题

0

好友

106

积分

注册会员

Rank: 2

性别
保密
沙发
发表于 2013-3-16 23:44:05 |只看该作者
本帖最后由 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外语计算机学习 ( 粤ICP备12031577 )    

GMT+8, 2024-12-22 21:11 , Processed in 0.118263 second(s), 31 queries .

回顶部