Java 阶乘算法 三种简单实现_java应用程序,其中包括fact(int n)方法,用于计算数据n(n<=10)的阶乘。-程序员宅基地

技术标签: 算法  Java 算法  Java 阶乘  算法设计  

阶乘算法:

Java 方法(一)

package 第一章;

import java.util.Scanner;

import java.util.Arrays;

public class fact1 {

public static int fact1(int n) {
    if (n == 0) {
        return 1;
    }
    return n * fact1(n - 1);
}

public static void main(String[] args) {

    System.out.println("请输入阶乘的数");
    Scanner input = new Scanner(System.in);
    int n = input.nextInt();

    System.out.println("Result=" + fact1(n));

}

}

Java 方法(二)

package 第一章;

import java.util.Scanner;

import java.util.Arrays;

public class fact2 {

public static int fact2(int n) {
    int res = n;
    if (n > 1) {
        res = res * fact2(n - 1);
    }
    return res;
}



public static void main(String[] args) {

    System.out.println("请输入阶乘的数");
    Scanner input = new Scanner(System.in);
    int n = input.nextInt();

    System.out.println("Result=" + fact2(n));

}

}

Java 方法(三)

package 第一章;

import java.util.Scanner;

import java.util.Arrays;
import static 第一章.fact2.fact2;

public class fact3 {

public static int fact3(int n) {

    int s = 1;
    System.out.println("递归算法 ");
    for (int i = 1; i <= n; i++) {
        s = s * i;
    }
    return s;
}

public static void main(String[] args) {

    System.out.println("请输入阶乘的数");
    Scanner input = new Scanner(System.in);
    int n = input.nextInt();

    System.out.println("Result=" + fact3(n));

}

}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/steven_cici/article/details/102324867

智能推荐

Laravel设置timezone时区_laravel timezone-程序员宅基地

文章浏览阅读1.5w次。Laravel设置timezone时区Laravel框架默认时区是UTC。科普:协调世界时(UTC, Universal Time Coordinated),又称世界统一时间,世界标准时间,国际协调时间。UTC可以简单地理解为伦敦时间。如果想使用北京时间,则找到config/app.php文件`'timezone' => 'PRC',` //将UTC改成PRC_laravel timezone

17个你必须牢记的Win7快捷键_win7智能影像键-程序员宅基地

文章浏览阅读435次。原文地址:http://www.cnblogs.com/xfiver/archive/2010/12/08/1899905.html电脑初学者掌握了盲打技术,可以提高录入速度;游戏玩家掌握了快捷键,可以在瞬息百变的对战中提高生存的机会;而Windows玩家掌握了快捷键,不但可以提高电脑操作速度,更能享受到初级玩家望着你那仰慕的眼神……Top 17 常规快捷键在开始使用Win_win7智能影像键

c盘清理-程序员宅基地

文章浏览阅读140次。C:\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.edb 必删,Windows search日志 360 清理虽然显示清理,但是无法清理。我的一没留意就29.2G hold不住。彻底删除Windows.edb的方法找到“服务”,将里面的WindowsSearch服务禁用即可。然后删除Windows..._windows search日志 清理

西西弗斯式的命运_西西弗斯式是什么意思-程序员宅基地

文章浏览阅读2.2k次。http://acm.sjtu.edu.cn/OnlineJudge/problem/1004Description古希腊有个关于西西弗斯的神话:西西弗斯被众神判决推运一块石头至山顶。由于巨石本身的重量,它被推到山顶却又总要滚下山脚。于是西西弗斯又得把石块推上山去。如此反复,永无止境,没有尽头。众神认为,让西西弗斯服这永恒的劳役是最严酷的惩罚。二哥被_西西弗斯式是什么意思

【JMeter】总结 jmeter 中各种函数_jmeter中函数-程序员宅基地

文章浏览阅读1.7w次,点赞14次,收藏122次。JMeter 提供了很多函数,可以很方便的实现一些小功能,可以用于测试计划中的任何元件。函数调用的格式如下所示:${__functionName(var1,var2,var3)}其中,__functionName 为函数名,括号内是函数的参数,无参数时可以不用括号,如 ${__UUID}。Tips:如果参数包含逗号,那么一定要使用 \ 来转义,否则 JMeter 会把它当作一个参数分..._jmeter中函数

scikit-learn机器学习(三)--逻辑回归和线性判别分析LDA_lda与逻辑回归-程序员宅基地

文章浏览阅读5.8k次。scikit-learn机器学习(一)–多元线性回归模型 scikit-learn机器学习(二)–岭回归,Lasso回归和ElasticNet回归 scikit-learn机器学习(三)–逻辑回归和线性判别分析LDA前面的线性回归模型是解决预测问题的,根据样本的多个特征,推测其目标值,但是现实生活中除了这种预测问题之外,还有一种问题就是分类问题,比如这个人是否得病,邮件是否为垃圾邮件等..._lda与逻辑回归

随便推点

ext 写的超炫 app 应用管理界面 另一种grid 的实现代码700行 -程序员宅基地

文章浏览阅读77次。全部代码 只有700行 包括树的点击改变应用 应用的过滤 排序 添加 删除 修改 和展示 Q:449237205_手机实现的grid页面

warning: function returns address of local variable详解-程序员宅基地

文章浏览阅读1.4w次,点赞5次,收藏25次。警告:函数返回局部变量.当自己动手写一个局部函数时,如果函数类型有返回值的话,如果返回的是局部变量,则会弹出该警告.因为执行玩该函数,就会释放内存.三种变量的解释:@interface Person : NSObject { // 成员变量: // 写在类声明的大括号中的变量, 我们称之为 成员变量(属性, 实例变量) // 成员变量只能通过对象来访问 ..._function returns address of local variable

SpringBoot集成ElasticSearch对API的实际应用封装(七)_springboot elasticsearch 实际应用-程序员宅基地

文章浏览阅读1.5k次。第一步.添加配置文件在resources创建elasticsearch.yml配置文件并添加一下配置:#elasticsearch集群名称,默认是elasticsearchspring.data.elasticsearch.cluster.name=wali#节点的地址,注意api模式下的端口号是9300,千万不要写成9200等spring.date.elasticsearch.clu..._springboot elasticsearch 实际应用

互联网界产品经理和项目经理_互联网为什么要有项目经理-程序员宅基地

文章浏览阅读4k次。前几日写了一篇博文《》,没想到写了之后很快被广泛转载,也有很多人表达了对文章观点的赞许之意。我想很多看过的(没看过的建议先看一下)网友一定会接下去关心另外一个问题:既然这种产品经理+项目经理的组织结构设置具备很好的优势,如何才能打造这种黄金组合呢?应该说在“如何”这个问题上,还是有很多学问可以展开来说的。不过我忽然想起前几天和原来的一个领导在争论我原来的一个同事能力的问题。我们都一直认为这_互联网为什么要有项目经理

如何让不懂信息化的甲方客户看懂需求文档,并确认签字?_需求规格书确认-程序员宅基地

文章浏览阅读2.6k次。需求规格书编写完成后如何让客户快速、顺利地确认签字?这是个常见问题,每个软件项目经理和需求工程师都遇到过,要解决这个问题要从甲方客户与软件工程师两个方面进行分析和找答案。从客户方面看,存在两个问题:一是要看得懂需求文档、二是要能放心地签字。提出需求的客户可能不是软件方面的专家,他是从自己熟悉的业务视角提出的需求,但他可能不清楚这个需求实现后的应用模式(原型、操作等),担心自己考虑不周签了字,待开发完成后与设想不同时要担责任,所以迟迟不肯签字(人之常情)。_需求规格书确认

1.8-Sentinel系统规则_rt 阀值类型-程序员宅基地

文章浏览阅读767次。1、系统规则设置通过Sentinel Dashboard控制台左侧菜单【系统规则】管理,新增系统保护规则如下所示:2、四种阈值类型说明Load-阈值类型当系统load1(1分钟平均负载)超过阈值,且并发线程数超过系统容量时触发,建议设置为系统CPU核心数 * 2.5;仅对Linux/Unix系统有效。其中的load1,可以在Linux系统上通过命令 uptime 查看:这个命令返回3个值,分别为load1、load5、load15,表示系统1分钟的平均负载、5分钟的平均负载、1_rt 阀值类型