十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
//控制台数据自己获取.
成都创新互联于2013年创立,是专业互联网技术服务公司,拥有项目网站制作、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元广元做网站,已为上家服务,为广元各地企业和个人服务,联系电话:13518219792
int[] kim = new int[]{6,5,4,3,2,1}//这是应该从控制台获取
//递归方式获取阶乘
private int getJc(int k){
if(k=1){
return 1;
}else{
return k*getJc(k-1);
}
}
int result=0;
String buffer = "";
for(int i=0;ikim .length;i++){
if(i!=0){
buffer = buffer+" +"+kim[i]+"!";
}else{
buffer=buffer+kim[i] +"!";
}
result =result +kim[i];
}
buffer = buffer+"="+result;
System.out.println(buffer)
楼主这个程序错的一塌糊涂
都错在基础知识上。
稍等一下,我帮你改,再额外给你一个求阶乘的方法
import java.util.Scanner;
import java.math.BigInteger;
public class Outer {
public static void main(String[] args) {
int n;
//用do..while循环 当输入为0时,退出
do {
//从控制台获取一整数(包括20)
n = new Scanner(System.in).nextInt();
//把int转化成BigInteger类型
BigInteger result = BigInteger.valueOf(1);
//利用循环求出n!
for(int i = 2; i = n; i++) {
BigInteger b1 = BigInteger.valueOf(i);
result = result.multiply(b1);
}
System.out.println(result);
} while(n != 0);
}
}
方法二:用递归
import java.util.Scanner;
public class Test{
public static void main(String[] args) {
int input = new Scanner(System.in).nextInt();
int result = DiGui(input);
System.out.println(result);
}
//用递归求阶乘
public static int DiGui(int n) {
if(n == 1) {
return 1;
}
return n * DiGui(n - 1);
}
}
源代码:
package test;
public class 阶乘 {
public static int jieCheng(int i){
return (i==1)?1:jieCheng(i-1)*i;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(jieCheng(3));
System.out.println(jieCheng(4));
}
}
按照你的要求编写的n的阶乘的Java程序如下
public class Factorial{
public int foo(int x){
if(x==0 || x==1){
return 1;
}else{
return x*foo(x-1);
}
}
public static void main(String[] args){
int n=6;
Factorial f=new Factorial();
System.out.println(f.foo(n));
}
}
亲测可用
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。
参考资料:百度百科——阶乘