java迭代算法代码 java迭代器的使用方法

java用迭代的算法实现阶乘

int num=1;

成都创新互联是少有的成都做网站、网站制作、营销型企业网站、微信小程序定制开发、手机APP,开发、制作、设计、外链、推广优化一站式服务网络公司,自2013年起,坚持透明化,价格低,无套路经营理念。让网页惊喜每一位访客多年来深受用户好评

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计算两个非负数之商的迭代程序代码

你好,下面我给出算法思想及其实现:

public class Divide {

/*

* 首先我们要理解计算机是怎么做除法的,计算机只能进行加法和加法运算

* 所以我们用减法去模拟除法运算

* 这里为了简单,只演示整数的相除运算

* 浮点数预算同理,就是控制精度问题

*/

/*

* param a 被除数

* param b 除数

* 返回值 商

*/

public static int divide(int a, int b){

if(a0 || b0){

throw new ArithmeticException("参数必须为非负整数") ;

}

if(b == 0){

throw new ArithmeticException("除数不能为0") ;

}

a -= b ;

if(a = b){ //这里就是控制精度,整数的比较简单

return divide(a,b) ; //递归调用

}

return a;

}

public static void main(String[] args) {

System.out.print("13 / 5 = " + divide(13,2) );

}

}

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迭代算法代码 java迭代器的使用方法
分享网址:http://scyanting.com/article/ddephdg.html