1--100之间的阶乘,初学者参考

方法一;

public static void main(String[] args){
double sun=1; //注意数据类型的范围大小。
for(int i=1;i<=100;i++){
sun=sun*i;
}
System.err.println("1到100的阶乘是"+sun);
}

方法二;

public static void main(String[] args) {
BigDecimal bg = new BigDecimal(1L);
int i = 1;
while(i <= 100){
bg = bg.multiply(new BigDecimal(i++));
}
System.out.println(bg.toString());
}

Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。
双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。
float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。
BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,
而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,
特别是带有参数的对象。

方法二得出的结果更精准点;

时间: 2024-10-21 21:28:58

1--100之间的阶乘,初学者参考的相关文章

for语句计算1~100之间所有连续整数的和

public class MultiplicationTable{ public static void main(String[] args){ int sum=0; String flag="从1到100之间连续整数和是:" for(int i=1;i<=100;i++){ sum+=i; } System.out.println(flag+sum); } }

1到100之间的素数

1 /* 2 * 求1到100之间的质数 3 */ 4 public class Zy3 { 5 public static void main(String[] args) { 6 System.out.print("1到100之间的素数有:\n"+"\t"+1+"\n"); 7 int j=0; 8 for(int i=2;i<100;++i){ 9 for(j=2;j<i;++j){ 10 if(i%j==0) 11 break

打印0~100之间被3或5整除的数

#include <cstdio> int main() { int i = 0, j = 0; while (i <= 100 && j <= 100) { if (i < j) { printf("(%d) ", i); i += 3; } else if (i > j) { printf("[%d] ", j); j += 5; } else { printf("{%d} ", i); i

找1~100之间素数的两种比较简单的方法

方法一:利用一个布尔类型的值的判断,优点想法更直接易懂 public static void main(String[] args) { for(int i=2;i<=100;i++){ boolean b=true; for(int n=2;n<i;n++){ if(i%n==0){ b=false; break; } } if(b==true){ System.out.print(i+"\t"); } } } 方法二:能被2和这个数本身以外的数整除的都不是素数.理解难但

(语法百题29)求出2-100之间的所有质数(素数)

知识点: 用到了指针 算法:除去1和本身,中间的所有数如果都不能被本身整除,这个数就是素数. 内容: 求出2-100之间的所有质数(素数) 输入说明: 无 输出说明: 一行一个素数 #include <stdio.h> int main() { int i,a[100],*p,j,m; p=a; for (i=2;i<=100;i++) { p=a; for (j=2;j<i;j++,p++) //每一个i,从2到i-1的每个数j被i除,余数存入数组 { *p=i%j; } p=a

java循环练习:输出1——100之间的奇数,每行输出5个数字

package practiceGO; /*  * 2.输出1--100之间的奇数,每行输出5个数字  */ public class Cto { public static void main(String[] args) { int j = 0; for(int i=1; i<=100; i++){ if (i%2 != 0) { j++; System.out.print(i+"  "); if (j%5 == 0) { System.out.print("\n&

输出1~100之间的所有质数

/* 输出1~100之间的所有质数 只能被1和本身整除的数 (即:从2开始到小于这个数本身结束的自然数中,没有能被这个数除尽的数存在) */ class  TestZhiShu {     public static void main(String[] args)      {          boolean flag=true;         long start=System.currentTimeMillis();//获取当前时间(ms)         for(int i=2; i

Java 实现1~100之间有多少个素数并输出所有素数

/* 2.判断1-100之间有多少个素数并输出所有素数. (将判断一个数是否是素数的功能提取成方法,在循环中直接调用即可) */ public class primeNumber{ public static void main(String[]args) { int count = 0; //产生1~100之间用for循环 for(int i=1;i<=100;i++) { if(isPrime(i)){ System.out.println(i); count++; } } System.o

52.从键盘上输入若干学生成绩(成绩在0~100之间),计算平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入

//1.建立一个for循环用于输入数据,设置退出条件 //2.算出平均成绩 #include<iostream> using namespace std; int main() { int Score,sum=0,k=0; int a[100]; float Average; cout<<"please input some students's score:"<<endl; for(int i=0;i<100;i++) { cin>&g

编程实例--for循环,找出0~100之间与8有关的正整数

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><style type="text/css"&g