java代码迭代求阶乘 迭代算法求n的阶乘

java用迭代的算法实现阶乘

int num=1;

专业从事网站制作、成都网站制作,高端网站制作设计,重庆小程序开发,网站推广的成都做网站的公司。优秀技术团队竭力真诚服务,采用H5建站+CSS3前端渲染技术,响应式网站,让网站在手机、平板、PC、微信下都能呈现。建站过程建立专项小组,与您实时在线互动,随时提供解决方案,畅聊想法和感受。

Scanner sc=new Scanner(system.in);

system.out.print("输入一个正整数");

int n=sc.nextInt();

String str=num+"*";

for( int i=2;i=n;i++){

str=str+i+"*";

if(i==n){

str=str+i;

}

num=num*i;//num*=i;这一步有两种实现,但是后面的运行速度比前面的要快!

}

system.out.println(str+"="+num);

效果是,你输入5:显示1*2*3*4*5=120

java 编程:用迭代法实现阶乘(Factorial):n!=n*(n

不知道lz在factory(int i)方法里面定义一个x=0是到底要闹哪样。明明是要根据传来的参数进行迭代判断。改了一下,希望对你有用(下次添加代码的时候要注意整洁,不然会干扰回答的~)。

import java.util.Scanner;

public class factorial_2 {

public static void main(String[] args) {

System.out.print("请输入一个整数:");

Scanner n1 = new Scanner(System.in);

int n = n1.nextInt();

System.out.println();

System.out.print(n + "的阶乘为:");

int sum = factorial(n);

System.out.print(sum);

}

private static int factorial(int i) {

//int x = 0;

if ( i == 1) {

return 1;

} else {

int temp;

temp = (int) i * factorial(i - 1);

return temp;

}

}

}

提醒楼主注意的是要注意int范围的问题。因为最后接收结果的是一个int sum类型的值,所以它可以解决的阶乘数也是有范围的。有必要的话可以改成Integer.

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代码迭代求阶乘 迭代算法求n的阶乘
文章出自:http://scyanting.com/article/hissdg.html