import java.util.ArrayList;
/**
* 2011年度最变态迷宫数学题
* @author Justplay(HBJ)
*
*/
public class Arithmetic {
private int d;
public ArrayList<String> arithmeticArray = new ArrayList<String>();
private int count;
public Arithmetic (int deep){
this.d = deep;
}
public void add7(int value ,int deep,boolean left,String load){// +7
if(deep>d){
System.out.println("("+deep + ")("+count + ") N此路算法过长: "+load);
return;
}
int tem = value+7;
load += "+"+7;
String _load = load;
deep ++;
if(left){
this.ride3(tem, deep,true,_load);
this.dim5(tem, deep,true,_load);
if(tem%2==0){
this.divide2(tem, deep,false,_load);
}
}else{
if(tem%2==0){
if(value==2012){
count++;
System.out.println("-----------------------Y此路算法通行: "+load);
this.arithmeticArray.add(load);
return;
}
this.divide2(tem, deep,true,_load);
}
}
}
public void divide2(int value ,int deep,boolean left,String load){// /2
if(deep>d){
System.out.println("("+deep + ")("+count + ") N此路算法过长: "+load);
return;
}
int tem = value /2;
load += "/"+2;
String _load = load;
deep++;
if(left){
this.ride3(tem, deep,true,_load);
this.dim5(tem, deep,true,_load);
this.add7(tem, deep, false,_load);
}else{
if(value==2012){
count++;
System.out.println("-----------------------Y此路算法通行: "+load);
this.arithmeticArray.add(load);
return;
}
this.add7(tem, deep, true,_load);
}
}
public void ride3(int value ,int deep,boolean left,String load){//X3
if(deep>d){
System.out.println("("+deep + ")("+count + ") N此路算法过长: "+load);
return;
}
int tem = value * 3 ;
load += "X"+3;
String _load = load;
deep++;
if(left){
if(tem==2012){
count++;
System.out.println("-----------------------Y此路算法通行: "+load);
this.arithmeticArray.add(load+" $(deep:"+deep+")");
return;
}
this.dim5(tem, deep, false,_load);
}else{
this.add7(tem, deep, false,_load);
this.dim5(tem, deep, true,_load);
if(tem%2==0){
this.divide2(tem, deep, false,_load);
}
}
}
public void dim5(int value ,int deep,boolean left,String load){ //-5
if(deep>d){
System.out.println("("+deep + ")("+count + ") N此路算法过长: "+load);
return;
}
int tem = value - 5 ;
load += "-"+5;
String _load = load;
deep++;
if(left){
if(tem==2012){
count++;
System.out.println("-----------------------Y此路算法通行: "+load);
this.arithmeticArray.add(load+" $(深度:"+deep+")");
return;
}
this.ride3(tem, deep, false,_load);
}else{
this.add7(tem, deep, false,_load);
this.ride3(tem, deep, true,_load);
if(tem%2==0){
this.divide2(tem, deep, false,_load);
}
}
}
public static void main(String args[]){
Arithmetic a = new Arithmetic (28);
a.add7(2011, 0, true,"");
System.out.println("结果集合");
for(String s :a.arithmeticArray){
System.out.println(s);
}
// +7/2+7/2+7-5X3/2+7/2+7X3-5/2+7/2+7-5X3-5X3/2+7-5X3/2+7-5
// int i = (((((((((((((2011+7)/2+7)/2+7-5)*3)/2+7)/2+7)*3-5)/2+7)/2+7-5)*3-5)*3)/2+7-5)*3)/2+7-5;
// System.out.println(i);
}
}
转载请注明:http://justplayoop1.iteye.com/admin/blogs/1292567
分享到:
相关推荐
在本项目"数据结构课设-老鼠走迷宫游戏-java-swing"中,开发者通过Java Swing构建了一个基于数据结构的游戏,让玩家控制一只老鼠在迷宫中寻找出路,同时还要避开猫的追捕并收集道具。这个项目展示了如何将编程理论与...
【Java游戏三维迷宫源代码】是一个以Java编程语言实现的项目,旨在提供一个既具有娱乐性又富有教育意义的游戏体验。在这个项目中,开发者利用Java的灵活性和强大的图形处理能力构建了一个三维迷宫,玩家可以在虚拟...
这个名为“labyrinth-java.rar”的压缩包文件,显然包含了一个用Java语言实现的迷宫算法示例。这个项目可以帮助我们深入理解如何利用Java来处理和解决复杂的数据结构问题,特别是与迷宫相关的路径寻找算法。 首先,...
C++语言编写的迷宫----完整代码 本程序是使用C++语言编写的迷宫生成器和迷宫遍历器。在迷宫生成器中,使用随机数生成迷宫,迷宫的墙壁用“#”表示,路径用“X”表示,死路用“@”表示。用户可以输入迷宫的大小,...
文件夹迷宫-公测版文件夹迷宫-公测版 文件夹迷宫-公测版文件夹迷宫-公测版 文件夹迷宫-公测版文件夹迷宫-公测版 文件夹迷宫-公测版文件夹迷宫-公测版 文件夹迷宫-公测版文件夹迷宫-公测版 文件夹迷宫-公测版文件夹...
数据结构课程设计迷宫算法的实现-JAVA 数据结构课程设计迷宫算法的实现是使用 JAVA 语言编写的,旨在设计一个迷宫算法的实现,提供图形用户界面来展示迷宫的大小、入口及出口位置和初始状态等,并演示走迷宫的过程...
# 老鼠走迷宫(mouse-maze) ## 算法 ##### 生成迷宫算法 ```java package cn.edu.cqut.Maze; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util....
java课程设计项目——Java语言编写的一个迷宫小游戏(源码+详细说明文档)java课程设计项目——Java语言编写的一个迷宫小游戏(源码+详细说明文档)java课程设计项目——Java语言编写的一个迷宫小游戏(源码+详细...
在本文中,我们将深入探讨如何使用Java编程语言创建一个迷宫游戏。首先,我们要了解迷宫游戏的基本概念,然后分析两种常见的迷宫生成算法:随机布点法和图的深度优先遍历法。接着,我们将讨论如何在游戏中实现自动...
【标题】:“迷宫-----c语言编写”指出这个项目是使用C语言来实现的一个迷宫求解算法。C语言是一种底层、高效的编程语言,适用于处理这类逻辑性和计算性较强的问题。 【描述】:“能完整输出路径,表示各种能走通的...
这是一个uniapp H5源码【迷宫】项目完整例子,以下还有↓ 通过HBuilderX开发工具选uniapp项目可打开,可编译运行,请放心下载, 可编译多平台发布,需要自己修改处理兼容对应平台, 类似走出迷宫游戏,探索与冒险玩...
Java迷宫课程设计是一项常见的编程练习,旨在帮助初学者掌握Java编程语言以及图形用户界面(GUI)开发。在这个项目中,我们使用了JavaFX库来创建用户界面,它是一个强大的工具,提供了丰富的功能来构建现代、动态的...
### 走迷宫——深度优先搜索算法解析 在计算机科学与编程领域,解决迷宫问题是一种常见的算法挑战,尤其当涉及到路径寻找时。本文将深入探讨如何利用深度优先搜索(Depth-First Search,简称DFS)算法来解决迷宫...
2、设定迷宫地图,包含可走的通道,不可走的墙体,还有出口位置 3、键盘的上下左右按键,来控制角色的移动 4、角色移动的算法,通道可走,遇到墙体不可走 5、走到终点,有成功通关的提示。 6、增加游戏的难度...
Java迷宫算法;Java迷宫算法;Java迷宫算法;Java迷宫算法;Java迷宫算法;Java迷宫算法;Java迷宫算法
在本Java课程设计中,我们将探讨如何利用编程技术来实现一个迷宫游戏。这个项目旨在帮助学生深化对Java编程语言的理解,特别是在问题解决、数据结构和算法应用方面。以下是关于"Java课程设计走迷宫"的主要知识点: ...
文件迷宫==========================呵呵俄核讹
一个Java小游戏,随机生成迷宫地图,可以人机交互
【Java课程设计-走迷宫】是一个以Java编程为基础的迷宫游戏项目,旨在通过实践提升学生对面向对象编程的理解和应用能力。该课程设计主要包括以下几个核心知识点: 1. **面向对象编程**:整个游戏的设计将围绕面向...