Java递归算法简单示例两则
本文实例讲述了Java递归算法。分享给大家供大家参考,具体如下:
1.实现1到100的和,用递归实现
public class RecursionTest { public static void main(String[] args) { System.out.println(diGui(100));// 5050 } public static int diGui(int n) { int sum; if (n == 1) return 1; else { sum = n + diGui(n - 1); return sum; } } }
2.递归实现1到100的阶乘
public class RecursionTest { public static void main(String[] args) { System.out.println(diGui(5));// 120 注意如果求100的阶乘那么就不能用int或者long,计算后的结果数值过大程序无法返回,一般情况会返回0要用BigInteger } public static int diGui(int n) { int sum; if (n == 1) return 1; else { sum = n * diGui(n - 1); return sum; } } }
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
相关推荐
-
Java小程序求圆的周长和面积实例 原创
在Java学习的过程中,需要经常拿一些小程序来练习.今天,我们就来看看一个利用蒙特卡洛算法计算圆周率,并输出指定半径的圆的周长和面积的小程序. 代码如下: /** * auther 司机 */import java.util.Scanner; public class Test011 { static double MontePI(int n) { double PI; double x, y; int i, sum; sum = 0; for (i = 1; i < n;
-
java实现的海盗算法优化版
本文实例讲述了java实现的海盗算法.分享给大家供大家参考,具体如下: 前面介绍了<C#实现的海盗分金算法>,这里再给出一个Java优化版的算法: package unit4; public class Pirate{ private String name; private int[] schemes; private int index; public Pirate(int t,int i) { name="unknow"; index=i; schemes=makeS
-
Java 蒙特卡洛算法求圆周率近似值实例详解
起源 [1946: John von Neumann, Stan Ulam, and Nick Metropolis, all at the Los Alamos Scientific Laboratory, cook up the Metropolis algorithm, also known as the Monte Carlo method.]1946年,美国拉斯阿莫斯国家实验室的三位科学家John von Neumann,Stan Ulam 和 Nick Metropolis共同发明,
-
Java小程序计算圆周率代码
下面我们来介绍两种Java编程中实现计算圆周率的方法. 方法一:割圆法 计算公式为: π≈3*2^n*y_n 其中,n代表割圆次数,y_n代表圆中内嵌正6*n边形的边长 package 计算π的近似值; import java.util.Scanner; public class Example { public static void main(String[] args) { Scanner scan=new Scanner(System.in); System.out.println("请
-
Java简单实现约瑟夫环算法示例
本文实例讲述了Java简单实现约瑟夫环算法.分享给大家供大家参考,具体如下: 1.算法背景: 罗马人攻占了乔塔帕特,41人藏在一个山洞中躲过了这场浩劫.这41个人中,包括历史学家josephus和他的一个朋友.剩余的39个人为了表示不向罗马人屈服,决定集体自杀.大家决定了一个自杀方案,所有这41人围城一个圆圈,由第一个人开始顺时针报数,没报数为3的人就立刻自杀,然后由下一个人重新开始报数 仍然是每报数为3的人就立刻自杀,......,知道所有人都自杀死亡为止. 约瑟夫和他的朋友并不想自杀,于是约
-
Java基于余弦方法实现的计算相似度算法示例
本文实例讲述了Java基于余弦方法实现的计算相似度算法.分享给大家供大家参考,具体如下: (1)余弦相似性 通过测量两个向量之间的角的余弦值来度量它们之间的相似性.0度角的余弦值是1,而其他任何角度的余弦值都不大于1;并且其最小值是-1.从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向.所以,它通常用于文件比较. 相关介绍可参考百度百科:余弦相似性 (2)算法实现的中未使用权重(IDF ---逆文档频率),使用词项的出现次数作为向量空间的值. import java.util.H
-
Java递归算法简单示例两则
本文实例讲述了Java递归算法.分享给大家供大家参考,具体如下: 1.实现1到100的和,用递归实现 public class RecursionTest { public static void main(String[] args) { System.out.println(diGui(100));// 5050 } public static int diGui(int n) { int sum; if (n == 1) return 1; else { sum = n + diGui(n
-
Java单例模式简单示例
本文实例讲述了Java单例模式.分享给大家供大家参考,具体如下: 在实际开发的时候会有一些需求,在某个类中只能允许同时存在一个对象.这时就需要用到单例模式.代码如下 package org.aaa; public class ex { private static ex e; public static ex getEx() { if (e == null) { e=new ex(); } return e; } private ex() { System.out.println("执行单立模式
-
Java使用ObjectMapper的简单示例
一.什么是ObjectMapper? ObjectMapper类是Jackson库的主要类,它提供一些功能将数据集或对象转换的实现. 它将使用JsonParser和JsonGenerator实例来实现JSON的实际读/写. 二.ObjectMapper怎么使用? 2.1 配置 2.1.1 普通Java项目(引入如下依赖即可) <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --
-
Java 实现简单Socket 通信的示例
目录 1. 传输层协议 2. TCP 示例 2.1 示例效果 2.2 服务端程序代码 3. UDP 示例 3.1 服务端程序代码 3.2 客户端程序代码 Java socket 封装了传输层的实现细节,开发人员可以基于 socket 实现应用层.本文介绍了 Java socket 简单用法. 1. 传输层协议 传输层包含了两种协议,分别是 TCP (Transmission Control Protocol,传输控制协议) 和 UDP (User Datagram Protocol,用户数据报协
-
Java实现简单的五子棋游戏示例代码
目录 项目结构 核心代码 ArrComparator.java类 ChessMap.java类 ChessPanel.java类 效果图展示 项目结构 这个是在网上找的资源,出处记不得了,记录一下.程序的总体结构,很简单的: 核心代码 代码如下: ArrComparator.java类 import java.util.Comparator; /** * 排序 Comparator */ class ArrComparator implements Comparator<Object> { i
-
java求100之内的素数(质数)简单示例
质数又称素数.一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除的数:否则称为合数.根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积:而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的.下面是一个java求100之内的素数简单示例 复制代码 代码如下: public class test { public static void main(String[] args) { int i,n,k=0; for (n = 3; n
-
Java简单计算两个日期月数差的方法
本文实例讲述了Java简单计算两个日期月数差的方法.分享给大家供大家参考,具体如下: /** * 获取两个日期相差的月数 * @param d1 较大的日期 * @param d2 较小的日期 * @return 如果d1>d2返回 月数差 否则返回0 */ public static int getMonthDiff(Date d1, Date d2) { Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInsta
-
Java 基础 byte[]与各种数据类型互相转换的简单示例
Java 基础 byte[]与各种数据类型互相转换的简单示例 这里对byte[]类型对long,int,double,float,short,cahr,object,string类型相互转换的实例, 在socket开发过程中,通常需要将一些具体的值(这些值可能是各种Java类型)转化为byte[]类型,为此我总结了如下这个示例,贴出来,以便经常翻看: public class TestCase { /** * short到字节数组的转换. */ public static byte[] shor
-
Java递归算法遍历部门代码示例
递归是一个非常有用的知识点.写点实例帮助自己记忆 中间有过程代码 首先一个javapojo类 package com.qcf.po; import java.util.HashSet; import java.util.Set; public class Depart { private long id; private String name; private String destion; //用户 Set<User> users=new HashSet<User>(); //
-
Python简单实现两个任意字符串乘积的方法示例
本文实例讲述了Python简单实现两个任意字符串乘积的方法.分享给大家供大家参考,具体如下: 题目: 给定两个任意数字组成的字符串,求乘积,字符可能很大,但是python具有无限精度的整数在这里就不需要考虑这个问题了 下面是简单的实现: #!usr/bin/env python #encoding:utf-8 ''''' __Author__:沂水寒城 功能:两个任意字符串乘积 ''' def two_strs_mutiply(one_str, two_str): ''''' ''' if on
随机推荐
- angularJS+requireJS实现controller及directive的按需加载示例
- java实现mysql操作类分享 java连接mysql
- IOS关于大型网站抢购、距活动结束,剩余时间倒计时的实现代码
- Oracle查看和修改连接数(进程/会话/并发等等)
- Discuz!X中SESSION机制实例详解
- php利用正则表达式取出图片的URL
- 日常整理python执行系统命令的常见方法(全)
- mysql动态游标学习(mysql存储过程游标)
- c语言中用位运算实现加法技巧介绍
- 怎么样才能支持WAP?
- 详细介绍Android中回调函数机制
- Android中EditText和AutoCompleteTextView设置文字选中颜色方法
- c#递归生成XML实例
- PHP中cookie和session的区别实例分析
- 使用python 和 lint 删除项目无用资源的方法
- 详解tensorflow实现迁移学习实例
- Java正确实现一个单例设计模式的示例
- 详解小程序云开发数据库
- 在Linux上识别同样内容的文件详解
- python安装pil库方法及代码