java笔试题递归,递归(网上搜的一些笔试题)

一个射击运动员打靶,靶一共有10环,连开10枪打中90环的可能性有多少种?请用递归算法编程实现。

public class Cs

{

public int times;

public int score;

public int[] loops;

public int count=0;

public static void main(String[] args)

{

Cs cs=new Cs(10,90);

cs.loop(10);

System.out.println(cs.count);

}

public Cs(int times,int score)

{

this.times=times;

this.score=score;

loops=new int[times];

}

public void loop(int cur)

{

if(cur==0)

{

if(score!=0)

return;

count++;

return;

}

cur--;

for(int i=10;i>0;i--)

{

loops[cur]=i;

score-=i;//模拟嵌套for循环

loop(cur);

score+=i; //状态恢复

}

}

}

输入两个整数n和m,从数列1、2、3、...n中任意取几个数,使其和等于m,要求将其中所有可能的组合都列出来

public class Cs

{

public int n;

public int m;

public int[] result;

public int count=0;

public static void main(String[] args)

{

Cs cs=new Cs(10,50);

cs.loop();

System.out.println(cs.count);

}

public Cs(int n,int m)

{

this.n=n;

this.m=m;

result=new int[n];

}

public void loop()

{

int[] loops=new int[n];

result=new int[n];

for(int i=0;i

loops[i]=i+1;

loop(n,loops);

}

private void loop(int cur,int[] _loop)

{

if(m<=0||_loop.length==0)

{

if(m!=0)

return;

count++;

for(int i=0;i

System.out.print(result[i]+",");

System.out.println("");

return;

}

cur--;

for(int i=0;i<_loop.length>

{

result[cur]=_loop[i];

m-=_loop[i];

//等到最终结果需要不重复,可以按元素大小排序来得到下一步_loop

int[] _loop_=new int[cur];

for(int j=i+1;j<_loop.length>

_loop_[j-i-1]=_loop[j];

loop(cur,_loop_);

m+=_loop[i]; //状态恢复

}

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/294340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android窗口管理服务WindowManagerService的简要介绍和学习计划

在前一个系列文章中&#xff0c;我们从个体的角度来分析了Android应用程序窗口的实现框架。事实上&#xff0c;如果我们从整体的角度来看&#xff0c;Android应用程序窗口的实现要更复杂&#xff0c;因为它们的类型和作用不同&#xff0c;且会相互影响。在Android系统中&#x…

人月神话

http://files.cnblogs.com/ITGirl00/%E4%B8%AD%E6%96%87%E7%89%88-%E4%BA%BA%E6%9C%88%E7%A5%9E%E8%AF%9D.pdf转载于:https://www.cnblogs.com/ITGirl00/p/3533753.html

Andorid之为何要用到NDK?

概括来说主要分为以下几种情况&#xff1a; 1. 代码的保护&#xff0c;由于apk的java层代码很容易被反编译&#xff0c;而C/C库反汇难度较大。 2. 在NDK中调用第三方C/C库&#xff0c;因为大部分的开源库都是用C/C代码编写的。 3. 便于移植&#xff0c;用C/C写得库可以方便在其…

各变量字节数

Win64, 也就是X64编译配置下&#xff1a; char 1字节&#xff1b; short 2字节&#xff1b; int 4字节&#xff1b; long 4字节&#xff1b; long long 8字节&#xff1b; float 4字节&…

日本最惨数学天才!37岁裸辞,房子被政府没收,向全村人乞讨,一家五口只能吃野菜.........

全世界只有3.14 % 的人关注了爆炸吧知识数学是火他是飞蛾多年以后&#xff0c;当冈熙哉站在桥本市的数学家纪念碑前&#xff0c;准会想起父亲请他吃面包片的那个遥远的夜晚。当时&#xff0c;他们一家五口蜗居在邻居施舍租出的小库房里。冈洁家三代同堂在他的回忆中&#xff0c…

C# WPF MVVM开发框架Caliburn.Micro 自定义Conventions⑩

处理自定义约定虽然ViewLocator和ViewModelLocator类通过提供对每个类的NameTransformer实例的公共访问来支持非标准约定&#xff0c;但对于那些不熟悉正则表达式语法的人来说&#xff0c;添加基于正则表达式的新名称转换规则可能是一项艰巨的任务。此外&#xff0c;由于NameTr…

html 使用ajax php函数吗,php – 为什么用AJAX加载html后jQuery更改函数不起作用?

我加载一个表单并从PHP文件中通过AJAX动态填充select.在实现动态AJAX填充选择之前,我的更改功能正常工作(当用户选择“其他”时,它只显示另一个输入).现在更改功能不起作用.我知道ready函数正在触发,因为jStepper函数运行.我已尝试使用ready函数内外的更改函数.我觉得在AJAX ge…

Asp.net MVC razor语法参考

Razor语法的快捷参考http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx/ 只是copy下来便于查阅&#xff01; I gave a presentation to another team at Microsoft yesterday on ASP.NET MVC and the Razor view engine and someone asked if there wa…

3、Eternal框架-控制器

2019独角兽企业重金招聘Python工程师标准>>> 介绍 MVC&#xff1a;Model-View-Controller&#xff0c;包括三类对象&#xff0c;Model模型对象、View视图表示、Controller控制器。在应用MVC方式以前&#xff0c;通常将这三个对象的功能合到了一起&#xff0c;通过分…

java配置JDK

1、将JDK文件拷入电脑并解压缩 根据系统版本选择JDK版本&#xff0c;并将eclipse解压缩 2、配置系统环境变量 右键我的电脑--属性--高级系统设置--环境变量 新建JAVA_HOME如图所示&#xff08;严格区分大小写&#xff09; 修改环境变量Path 在变量值一栏的最前面加上%JAVA_HOM…

可怕!原来我们看到的世界地图一直都是“错”的!多年的地理白学了...

▲ 点击查看几乎每个家庭都会有两张地图&#xff1a;一张世界地图&#xff0c;一张中国地图。薄薄的两张纸&#xff0c;蕴藏着让每个人学会“看世界”的磅礴力量。哈佛上一任校长&#xff0c;也是300多年来唯一一位女校长德鲁吉尔平福斯特&#xff08;Drew Gilpin Faust&#x…

C# 是否可以将 动态或匿名类型 转成 强类型 ?

咨询区 ProfK假如我有一个匿名类型或者动态类型&#xff0c;它的结构定义和我的一个强类型的结构是一致的&#xff0c;请问 C# 中是否有内置的方法可以强转为指定 强类型 &#xff1f;我知道可以使用 AutoMapper&#xff0c;但这有点重量级了&#xff0c;并且实现起来也稍微繁琐…

退火算法 matlab,模拟退火算法(MATLAB实现).pdf

退火,算法,实现退火,算法,实现退火,算法,实现模拟火算法(MATLAB 实现)实验用例&#xff1a;用模拟退火算法解决如下10 个城市的TSP 问题&#xff0c;该问题最优解为f opt 2.691 。表1 10 个城市的坐标城市 X 坐标 Y 坐标 城市 X 坐标 Y 坐标1 0.6683 0.2536 6 0.2293 0.76102 0…

sudo apt-get update

常见命令: sudo apt-get update sudo apt-get install gcc sudo apt-get install g++ gcc --version g++ --version 要用apt-get这种方式安装LAMP时,最好先运行下面在命令升级自己的系统这样是为了更新源,而如果你找的源不好,可能安装LMAP失败。#sudo apt-get update…

读jquery 权威指南[7]-性能优化与最佳实践

一、优化选择器执行速度 1. 优先使用ID选择器和标记选择器 使用选择器时应该首选ID选择器($("#id"))&#xff0c;其次是标记选择器&#xff08;$("div")&#xff09;&#xff0c;最后再选用class、属性等选择器。避免重复使用ID号修饰ID号&#xff0c;例如…

遍历某个文件夹下的所有文件并格式化显示出来

public class FileList { private static int num;//定义往下循环了多少层 public static void deepList(File file){ if (file.isFile() || file.listFiles().length0) { return; } else { File[] files file.listF…

Spring高级应用之注入各类集合

先定义一个测试类&#xff0c;由于本文将要介绍注入各种集合时如何配置&#xff0c;故这个类包含各种集合&#xff0c;类名和属性名不好取&#xff0c;没有特殊含义&#xff1a; ?123456789public class Test { private List<String> listTest; private Map<String, …

.NET 程序测试 Java 项目 log4j2 是否存在远程代码执行漏洞

最近两天被朋友圈的“Apache Log4j2 远程代码执行漏洞”刷屏了&#xff0c;主要是因为组件存在 Java JNDI 注入漏洞&#xff1a;当程序将用户输入的数据记入日志时&#xff0c;攻击者通过构造特殊请求&#xff0c;来触发 Apache Log4j2 中的远程代码执行漏洞&#xff0c;从而利…

matlab总最近邻法则,MATLAB中最近邻插值算法

一段时间后&#xff0c;我在MATLAB Image Processing Toolbox中通过了imresize功能的代码&#xff0c;为图像的最近邻插值创建了一个简化版本。以下是如何应用于您的问题&#xff1a;%# Initializations:scale [2 2]; %# The resolution scale factors: [rows columns]oldSize…

史上最牛的文科生:法学出身,却发明出十进制计算器,折磨无数人的微积分符号,跨界40多个领域惊艳学术圈

全世界只有3.14 % 的人关注了爆炸吧知识“世界上没有完全相同的两片树叶。”想必大家对这句话耳熟能详&#xff0c;但却不知道这名言背后的作者是谁吧&#xff1f;其实&#xff0c;他就是与牛顿争论微积分优先权大战中的大佬&#xff1a;莱布尼茨。博览群书 天赋异禀1646年&…