本文目录一览:
用java求阶乘
求阶乘用for就行,假设我们要对num求阶乘,结果是result
int result = 1;
for (int i=1;i=num;i++){
result *= i;
}
此时result的值即为num的阶乘(仅正整数)
关于JAVA阶乘的算法的解释
//程序要能运行就必须用 public 修饰
public class jie
{
//程序入口
public static void main(String args[])
{
//定义变量sum用来保存阶乘的结果的和
long sum = 0;
//定义变量i
int i;
//这是外循环,变量i的值从1向10递增,
for(i=1;i=10;i++)
{
//定义变量ji用来保存某个数的阶乘结果
long ji = 1;
//定义变量J
int j;
//这是内循环,变量j将从1向i递增
for(j=1;j=i;j++)
{
//当j=1时 JI=JI*J=1*1=1;
//当J=2时 JI=JI*J=1*2=2;
//当J=3时 JI=JI*J=2*3=6
//当J=4时 JI=JI*J=6*4=24
//以此类推直到 J=I 时,循环结束...
ji *= j;//这行程序等效于: ji=ji*j;
}
//总和加上刚才某个数的阶乘的结果
sum += ji;//这行程序等效于: sum=sum+ji;
}
//打印输出结果
System.out.println("结果是:"+sum);
}
}
java中怎么实现阶乘,如计算1~100的阶乘
使用BigInteger大容量运算类计算100的阶乘
一.一般算法(循环)
view plaincopy to clipboardprint?
public class Test {
public static void main(String[] args) {
int result = 1;
for (int i = 1; i = 100; i++) {
result *= i;
}
System.out.println(result);
}
}
public class Test {
public static void main(String[] args) {
int result = 1;
for (int i = 1; i = 100; i++) {
result *= i;
}
System.out.println(result);
}
}
输出结果为0,因为int无法保存下100的阶乘的结果,100的阶乘的长度至少大于50位,也要大于long,double
二.使用BigInteger大容量运算类
view plaincopy to clipboardprint?
import java.math.BigInteger;
public class Test {
public static void main(String[] args) {
BigInteger result = new BigInteger("1");//为result赋初始值,为1
for (int i = 1; i = 100; i++) {
BigInteger num = new BigInteger(String.valueOf(i));
result = result.multiply(num);//调用自乘方法
}
System.out.println(result);//输出结果
System.out.println(String.valueOf(result).length());//输出长度
}
}
import java.math.BigInteger;
public class Test {
public static void main(String[] args) {
BigInteger result = new BigInteger("1");//为result赋初始值,为1
for (int i = 1; i = 100; i++) {
BigInteger num = new BigInteger(String.valueOf(i));
result = result.multiply(num);//调用自乘方法
}
System.out.println(result);//输出结果
System.out.println(String.valueOf(result).length());//输出长度
}
}
计算结果为:93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
产度:158
java怎么写求阶乘?
亲测可用
long jiecheng(int x)
{
long int i,k=1;
for(i=1;i=x;i++)
k=k*i;
return k;
}
int main()
{
long int j,k=0;
int i;
for(i=1;i=20;i++)
{
j=jiecheng(i);
k+=j;
}
printf("%ld\n",k);
}
输出的结果是2561327494111820313
扩展资料:
一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。
亦即n!=1×2×3×...×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n。
计算方法:
大于等于1:
任何大于等于1 的自然数n 阶乘表示方法:n! = 1×2×3×...×(n-1)n或n! = n×(n-1)!
0的阶乘:0!=1。
参考资料:百度百科——阶乘
JAVA中怎么表示阶乘
java中可以用for循环来实现阶层。
代码如下:
public class Demo {
public static void main(String[] args) {
for(int i=1;i5;i++){
int sum = 1;//定义一个用来存储阶层的值
for(int j=1;j=i;j++){//实现阶层的循环
sum *= j;
}
System.out.println(i+"的阶层是:"+sum);
}
}
}
for循环中的变量从1开始,循环遍历到阶层本身的这个数,通过一个变量来记录上一个数的乘积即可。
java中阶乘怎么表示
java中可以用for循环来实现阶层。
代码如下:
public class Demo {
public static void main(String[] args) {
for(int i=1;i5;i++){
int sum = 1;//定义一个用来存储阶层的值
for(int j=1;j=i;j++){//实现阶层的循环
sum *= j;
}
System.out.println(i+"的阶层是:"+sum);
}
}
}
for循环中的变量从1开始,循环遍历到阶层本身的这个数,通过一个变量来记录上一个数的乘积即可。
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。