永中首页 | 产品聚焦 | 销售渠道 | 服务支持 | 教育专栏 | 二次开发 | 在线订购 | 产品注册 | 免费下载 | 新闻中心 | 关于永中
发新话题
打印

1000! 建议用树组和biginteger分别写出来,让我门看看,谢谢!! (无内容)

1000! 建议用树组和biginteger分别写出来,让我门看看,谢谢!! (无内容)


为人民服务!!!!!!!!!!!!!!!!!!!!

TOP

1000! 建议用树组和biginteger分别写出来,让我门看看,谢谢!! (无内容)

import javax.swing.*;
import java.util.*;
import java.text.*;
public class Number extends JFrame{
    public static void main(String[] args) {
        String str = JOptionPane.showInputDialog("please input the number:");
        int j = Integer.parseInt(str);
         long[] a;
        if(j<10001){
         a=new long[2745];         
        }
        else{
            a=new long[j/2];            
        }
         a[0]=1;
        int len =1;
        //计算
        for (int i = j;i>1;i--){
            long temp,up=0;
            for(int k= 0;k<len;k++){
                temp = a[k]*i+up;
                a[k]=temp%100000000000000L;
                up=temp/100000000000000L;               
            }
            if(up>0){
                a[len]=up;
                len=len+1;
                }
        }
        //打印
        DecimalFormat myFormatter=new DecimalFormat("00000000000000");
        System.out.print(a[len-1]);
        for(int i=len-2;i>-1;i--){
            System.out.print(myFormatter.format(a[i]));
        }
        System.exit(0);
    }
}
爱一个人需要理由吗?

TOP

1000! 建议用树组和biginteger分别写出来,让我门看看,谢谢!! (无内容)

[这个贴子最后由吴承瑛在 2003/01/04 09:42pm 编辑]

谢谢!有帮助的!但是还有一些不明白!
if(j<10001){
        a=new long[2745];         
       }
       else{
           a=new long[j/2];            
       }
不是很清楚为什么要这样写!
if(up>0){
               a[len]=up;
               len=len+1;
               }
他不会小于0的吧。
DecimalFORMat myFORMatter=new DecimalFORMat("00000000000000");
这个类在哪里呢?
我是java的初学者,望各位大侠能多多指教,多多点拨在下!

TOP

1000! 建议用树组和biginteger分别写出来,让我门看看,谢谢!! (无内容)

DecimalFORMat myFORMatter=new DecimalFORMat("00000000000000");
里面的000000000000000是什么东西!
a[k]=temp%100000000000000L;
               up=temp/100000000000000L;   
这2步什么意思?              
           
      
为人民服务!!!!!!!!!!!!!!!!!!!!

TOP

1000! 建议用树组和biginteger分别写出来,让我门看看,谢谢!! (无内容)

[这个贴子最后由庐山神农架在 2003/01/06 04:19pm 编辑]

DecimalFORMat是text包里的一个格式化类,00000000000000表示数字不足的以0表示.
而up是进位值.
爱一个人需要理由吗?

TOP

1000! 建议用树组和biginteger分别写出来,让我门看看,谢谢!! (无内容)

那个程序不能运行阿
为人民服务!!!!!!!!!!!!!!!!!!!!

TOP

1000! 建议用树组和biginteger分别写出来,让我门看看,谢谢!! (无内容)

[这个贴子最后由庐山神农架在 2003/01/07 06:03pm 编辑]

注意大小写,网站转换有误! :em18:
爱一个人需要理由吗?

TOP

发新话题