解猜数字(XAXB)
我的想法是:把所有备选答案当做正确答案和猜的数字对比,如果得出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)的更多相关文章
- 详解 leetcode 猜数字大小 II
375. 猜数字大小 II 原题链接375. 猜数字大小 II 题目下方给出了几个提示: 游戏的最佳策略是减少最大损失,这引出了 Minimax 算法,见这里,和这里 使用较小的数开始(例如3),看看 ...
- 猜数字游戏 在控制台运行--java详解!了;来玩
import java.util.Scanner;//导入包 import java.util.Scanner; 注意格式 符号的使用 public class Demo{ //猜数字游戏 练习 pu ...
- 不一样的猜数字游戏 — leetcode 375. Guess Number Higher or Lower II
好久没切 leetcode 的题了,静下心来切了道,这道题比较有意思,和大家分享下. 我把它叫做 "不一样的猜数字游戏",我们先来看看传统的猜数字游戏,Guess Number H ...
- 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 ( ...
- hdu 1172 猜数字
猜数字 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- noip模拟赛 猜数字
题目描述 LYK在玩猜数字游戏. 总共有n个互不相同的正整数,LYK每次猜一段区间的最小值.形如[li,ri]这段区间的数字的最小值一定等于xi. 我们总能构造出一种方案使得LYK满意.直到…… LY ...
- C语言猜数字游戏
猜数字游戏,各式各样的实现方式,我这边提供一个实现方式,希望可以帮到新手. 老程序猿就不要看了,黑呵呵 源代码1 include stdio.h include stdlib.h include ti ...
- java 猜数字游戏
作用:猜数字游戏.随机产生1个数字(1~10),大了.小了或者成功后给出提示. 语言:java 工具:eclipse 作者:潇洒鸿图 时间:2016.11.10 >>>>> ...
- 【原创Android游戏】--猜数字游戏Version 0.1
想当年高中时经常和小伙伴在纸上或者黑板上或者学习机上玩猜数字的游戏,在当年那个手机等娱乐设备在我们那还不是很普遍的时候是很好的一个消遣的游戏,去年的时候便写了一个Android版的猜数字游戏,只是当时 ...
随机推荐
- Google Go Programming In Eclipse
http://www.tutorialsavvy.com/2013/04/google-go-programming-in-eclipse.html/ Google Go Programming In ...
- 几个最常用的Mysql命令
shell>mysql -u用户名 -p密码 mysql>show databases; mysql>use 数据库名称; mysql>show tables; mysql&g ...
- Ext.grid.Panel表格分页存储过程
/*首先需要引入两个Extjs插件类 Ext.ux.data.PagingMemoryProxy和Ext.ux.ProgressBarPager这两个类*/ /*下面是控制弹出窗体放大缩小时窗体居中的 ...
- Windows台的FailOver群集简介
首先,您需要有一些服务器硬件方面知识. 我们介绍Windows平台的FailOver群集,以多个站点场景为例,如下图示: 八个结点NODE,Windows的FailOver群集,依赖SAN存储同步各个 ...
- Fiddler 教程
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说,都有 ...
- Java的对象初始化过程
成员变量(字段)初始化顺序 在一个类里初始化的顺序是由成员变量在类里面的定义的顺序来决定的.即使成员变量大量散布于类的各个方法定义的中间,那些成员变量仍会在调用任何方法之前得以初始化,甚至在构造函数调 ...
- [Cordova] 无法编译Visual Studio项目里Plugin副本的Native Code
[Cordova] 无法编译Visual Studio项目里Plugin副本的Native Code 问题情景 开发Cordova Plugin的时候,开发的流程应该是: 建立Cordova Plug ...
- Code First :使用Entity. Framework编程(3) ----转发 收藏
第三章 对属性使用约定和配置 在第2章,对Code First的约定以及如何通过配置覆写默认约定行为进行了大致的介绍.学习了如何使用Data Annotations进行配置,也学习了如何使用Fluen ...
- HoverTree菜单0.1.3新增效果
HoverTree菜单0.1.3增加弹出菜单的动态效果,可以是动态下拉,也可以是动态淡入. 效果请看:http://keleyi.com/jq/hovertree/demo/demo.0.1.3.ht ...
- [deviceone开发]-购物车的简单示例
一.简介 主要是演示listview所在的ui和模板cell所在的ui之间数据的交互,点击一行,可以通过加减数量,自动把所有选中的汽车价格显示在底部. 二.效果图 三.示例地址: http://sou ...