1 / 6
文档名称:

程序员打靶问题及解析.docx

格式:docx   大小:12KB   页数:6页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

程序员打靶问题及解析.docx

上传人:老狐狸 2022/7/3 文件大小:12 KB

下载得到文件列表

程序员打靶问题及解析.docx

相关文档

文档介绍

文档介绍:程序员打靶问题及解析
面试例题 1:一个射击运发动打靶,靶一共有 10 环,连开 10 枪打中 90 环的可能性有多少种?请用递归算法编程实现。[中国某通信企业 H面试题]
解析:靶上一共有 10 种可能——1 环到 10 环,还有可能

程序员打靶问题及解析
面试例题 1:一个射击运发动打靶,靶一共有 10 环,连开 10 枪打中 90 环的可能性有多少种?请用递归算法编程实现。[中国某通信企业 H面试题]
解析:靶上一共有 10 种可能——1 环到 10 环,还有可能脱靶,那就是 0 环,加在一起共 11 种可能。这是一道考循环和递归的面试题。我们在这个程序中将利用递归的方法实现打靶全部可能的演示,并计算出结果。读者会问,莫非肯定要使用递归?固然不是。我们也可以连续用 10个循环语句来表示程序,代码如下:
for (i1=0;i1 (num+1)*10 ) //次数num 为0~9
{
return;
}
(2)假如满意条件且打到最终一次(由于必需打 10 次),代码如下:
if(num == 0)
{
store2[num] = score;
Output( store2);
return;


}
(3)假如没有消失以上两种状况则执行递归,代码如下:
for(int i = 0; i =0; --i)
{
(“ {0}“,store2[i]);
}
();
sum++;
}
答案:
用 C#编写的完整代码如下:
using System ;
public class M
{
//public static int[] store;
//相当于设置了全局变量
//这个全局变量sum 是包含在M 类中的
public static int sum;
public M()
{


int sum =0;
// int[] store = {1,2,3,4,5,6,7,8,9,0};
}
//打印函数
//符合要求的则把它打印出来
public static void Output(int[] store2)
{
for(int i = 9; i>=0; --i)
{
(“ {0}“,store2[i]);
}
();
sum++;
}
//计算总数,返回 sum 值
public static int sum2()
{
return sum;
}
public static void Cumput(int score, int num, int[] store2 )