
正文
JAVA阶层代码 java基础代码大全
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
求一个数字的阶层(JAVA)
2000的阶乘太大了,一般的方法是计算不出来的 )_(
class Factorial
{
public static void main(String[] args)
{
int n = 5; //假设输入的数是 5
int sum = 1;
if (n 0)
{
System.out.println("n is overflow");
return ;
}
else if (n == 0)
{
n = 0;
}
else {
for (int i = 1; i = n ; i ++)
{
sum = sum * i;
}
}
System.out.println("n! = " + sum);
}
}
相关问答
Q1: 用JAVA求阶层问题!
这个好办
import java.util.*;
public class Jiecheng {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("1~10");
int i= s.nextInt();
int r=0;
do{r*=i; i++;
if(i10||i0)break;}
while(i10||i0);
System.out.println(r);
}
}
Q2: 用java求1到30 的阶层和 用方法
阶乘的公式是
n!=n*(n-1)*(n-2)....*2*1
这个公式可以通过一个java的循环来实现,也就是第一种方法。
for(int i=number; i0;i--)
这个循环在i=0的时候结束, 而阶乘的结果通过result*=i来计算。
public static int compute(int number)
{
int result=1;
for(int i=number;i0;i--){
result*=i;
}
return result;
}
public static void main(String[] args)
{
System.out.println(compute(30)); //789912231223232323211
}
第二种是通过递归来实现阶乘。
递归就是方法调用自身, 最终通过一个出口来结束程序的调用。
这个出口要保证程序不出现死循环。
在上面的f(x)- n*f(x-1)这里, 出口就可以设置为
if(1==number)
{return 1;}
代码实现:
public static int cur(int number){
if(number!=0){
return number*cur(number-1);
}else return 1;
}
Q3: java里 阶层是怎样写的?
public class Qiuhe {
public Qiuhe() {
}
public static void main(String args[]){
int sum = 0;//用来存放1!+2!+3!+4!+.....+10!的值,初始值为零
for(int i = 0; i 10; i++ ){
sum += jiecheng(i + 1);//调用jiecheng()函数算出i+1的阶乘,加到sum当中
}
System.out.println("1!+2!+3!+4!+.....+10!的值为:" + sum);
}
public static int jiecheng(int n){//算阶乘的函数
if(n == 1 || n == 0){
return 1;
}
else return n * jiecheng(n - 1);
}
}
Q4: java程序阶层 20以内相加的和 for语句
给你写了下代码,在主函数里调用的时候需要多少以内的阶乘相加就把参数写成多少就好。代码如下:
public static long factorial(int n) {//求n的阶乘
if(n == 1)
return 1;
return n * factorial(n - 1);
}
public static void print(int n) {//输出等号左边,比如“1! +2!”
if(n == 1) {
System.out.print("1!");
return;
}
print(n - 1);
System.out.print(" +" + n + "!");
}
public static void doFactorSum(int n) {//循环执行,输出最终结果
long result = 0;
for(int i = 1; i = n; i++) {
result += factorial(i);
print(i);
System.out.println("=" + result);
}
}
public static void main(String[] args) {
doFactorSum(20);//调用,得到最终结果
}
有什么问题再追问。
Q5: Java使用biginteger类计算前100项阶层和,求代码,没代码的别水,思路算法不用说
//java 版
import java.math.BigInteger;
public class TestBaiduKnow {
public static void main(String args[]) {
BigInteger s =BigInteger.valueOf(1);
for(long i =1;i=100;i++)
s = s.multiply(BigInteger.valueOf(i)) ;
System.out.println(s);
}
}
#再来个python版的
s = 1
for i in range(1,101):
s *= i
print(s)
结果为:93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
JAVA阶层代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java基础代码大全、JAVA阶层代码的信息别忘了在本站进行查找喔。







