我的想法是:把所有备选答案当做正确答案和猜的数字对比,如果得出XAXB和给出的XAXB相同则保留

代码

        int a = ;
int b = ;
List<string> number = new List<string>(); private void button1_Click(object sender, EventArgs e)
{
if (textBox2.Text == "")
{
return;
}
if (button1.Text == "重置")
{
init();
return;
}
try
{
string[] state = textBox2.Text.Split('.');
a = Int32.Parse(state[]);
b = Int32.Parse(state[]);
if (a + b > || a < || b < )
{
return;
}
if (a == )
{
button1.Text = "重置";
return;
} for (int i = number.Count - ; i >= ; i--)
{
if (check(number[i], number[], a, b))
{
continue;
}
number.RemoveAt(i);
} richTextBox1.Text = "";
for (int i = ; i < number.Count; i++)
{
richTextBox1.Text += number[i] + "\n";
}
textBox2.Text = "";
textBox1.Text = number[];
}
catch
{
return;
}
} private void Form1_Load(object sender, EventArgs e)
{
init();
} private void init()
{
a = ;
b = ;
button1.Text = "确定";
number.Clear();
textBox1.Text = "";
textBox2.Text = "";
richTextBox1.Text = "";
for (int aa = ; aa < ; aa++)
{
for (int bb = ; bb < ; bb++)
{
if (bb == aa) continue;
for (int cc = ; cc < ; cc++)
{
if (cc == aa || cc == bb) continue;
for (int dd = ; dd < ; dd++)
{
if (dd == aa || dd == bb || dd == cc) continue;
number.Add(aa + "," + bb + "," + cc + "," + dd);
}
}
}
}
textBox1.Text = number[];
} private bool check(string num, string guess, int a, int b)
{
int a1 = ;
int b1 = ;
string[] nums = num.Split(',');
string[] guesss = guess.Split(',');
for (int i = ; i < nums.Length; i++)
{
for (int j = ; j < guesss.Length; j++)
{
if (nums[i] == guesss[j])
{
if (i == j)
{
a1++;
}
else
{
b1++;
}
}
}
}
if (a == a1 && b == b1)
{
return true;
}
else
{
return false;
}
} private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
button1.PerformClick();
}
}

展现页面

解猜数字(XAXB)的更多相关文章

  1. 详解 leetcode 猜数字大小 II

    375. 猜数字大小 II 原题链接375. 猜数字大小 II 题目下方给出了几个提示: 游戏的最佳策略是减少最大损失,这引出了 Minimax 算法,见这里,和这里 使用较小的数开始(例如3),看看 ...

  2. 猜数字游戏 在控制台运行--java详解!了;来玩

    import java.util.Scanner;//导入包 import java.util.Scanner; 注意格式 符号的使用 public class Demo{ //猜数字游戏 练习 pu ...

  3. 不一样的猜数字游戏 — leetcode 375. Guess Number Higher or Lower II

    好久没切 leetcode 的题了,静下心来切了道,这道题比较有意思,和大家分享下. 我把它叫做 "不一样的猜数字游戏",我们先来看看传统的猜数字游戏,Guess Number H ...

  4. P3868 [TJOI2009]猜数字

    [TJOI2009]猜数字 中国剩余定理 求解i=1 to n : x≡a[i] (mod b[i])的同余方程组 设 t= ∏i=1 to n b[i] 我们先求出 i=1 to n : x≡1 ( ...

  5. hdu 1172 猜数字

    猜数字 Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  6. noip模拟赛 猜数字

    题目描述 LYK在玩猜数字游戏. 总共有n个互不相同的正整数,LYK每次猜一段区间的最小值.形如[li,ri]这段区间的数字的最小值一定等于xi. 我们总能构造出一种方案使得LYK满意.直到…… LY ...

  7. C语言猜数字游戏

    猜数字游戏,各式各样的实现方式,我这边提供一个实现方式,希望可以帮到新手. 老程序猿就不要看了,黑呵呵 源代码1 include stdio.h include stdlib.h include ti ...

  8. java 猜数字游戏

    作用:猜数字游戏.随机产生1个数字(1~10),大了.小了或者成功后给出提示. 语言:java 工具:eclipse 作者:潇洒鸿图 时间:2016.11.10 >>>>> ...

  9. 【原创Android游戏】--猜数字游戏Version 0.1

    想当年高中时经常和小伙伴在纸上或者黑板上或者学习机上玩猜数字的游戏,在当年那个手机等娱乐设备在我们那还不是很普遍的时候是很好的一个消遣的游戏,去年的时候便写了一个Android版的猜数字游戏,只是当时 ...

随机推荐

  1. Java集合类中的哈希总结

    JAVA集合类中的哈希总结 目 录 1.哈希表 2.Hashtable.HashMap.ConcurrentHashMap.LinkedHashMap.TreeMap区别 3.Hashtable.Ha ...

  2. 引用计数 vs. GC

    内存管理问题 内存管理是编程过程中的一个经典问题,早期在 C 语言时代,几乎都靠 malloc/free 手动管理内存.随着各个平台的发展,到现在被广泛采用的主要有两个方法: 引用计数 (ARC,Au ...

  3. 解决SublimeCodeIntel回车换行误打代码

    SublimeCodeIntel会自动匹配并联想词汇, 这在换行的时候非常麻烦, 每次点Enter 都会误打出代码, 解决办法分两步:第一步是在Perferences/setting User 中加入 ...

  4. mysql批量插入数据的基类

    自己设计的一个mysql数据库批量添加数据的基类.用于批量向mysql数据库添加数据,子类实现起来很简单,自测性能也还不错. 1.基类实现-BatchAddBase using System.Coll ...

  5. singleCall单来源调用解析及实现

    定义: 单来源调用指一个类的生成工作只能由特定类来执行. eg李宁牌鞋子只能由李宁专卖店生产 这个问题归结起来,也就是说在工厂模式中,指定的产品类只能通过具体的特定工厂类来生成,而不能自己new出来或 ...

  6. 设计3D标签

    java自带的Label太枯燥了,真是拿不出手啊. 所以,我们要设计3D标签!! 看看下面这张图 原理 看看这图,可以看到哈哈有三种颜色:白色.黑色和灰色 实现的时候并不像PS那样,按几个按钮就O了 ...

  7. 《Continuous Delivery》 Notes 1: The problem of delivering software

    What is "Deployment pipeline"? A deployment pipeline is an automated implementation of you ...

  8. Sortable – 简单灵活的 JavaScript 拖放排序插件

    当需要在网站中添加拖放排序功能的时候,jQuery UI 的排序组件可能是最流行的解决方案.今天给大家介绍另一款简单灵活的 JavaScript 拖放排序插件——Sortable,它使用 HTML5 ...

  9. angularjs封装bootstrap官网的时间插件datetimepicker

    背景:angular与jquery类库的协作 第三方类库中,不得不提的是大名鼎鼎的jquery,现在基本上已经是国内web开发的必修工具了.它灵活的dom操作,让很多web开发人员欲罢不能.再加上已经 ...

  10. JavaScript实战(带收放动画效果的导航菜单)

    虽然有很多插件可用,但为了共同提高,我做了一系列JavaScript实战系列的实例,分享给大家,前辈们若有好的建议,请务必指出,免得误人子弟啊! ( 原创文章,转摘请注明:苏福:http://www. ...